DataGridView将无法正确更新

时间:2016-09-01 12:05:30

标签: c# datagridview

所以我目前正在开发一个数据库项目,但我的GUI不能正确更新。

我的程序目前有四个DataGridViews。第一个包含所有乐队。 第二个显示所选乐队的所有乐队成员。 第三个显示所选乐队的所有专辑。 第四个显示所选专辑的所有曲目。

当我在两个乐队之间切换时,乐队成员和专辑更新得很好。 但这是我的问题:

我有两个乐队。第一个在每个表中都有几个条目。 第二个只有乐队本身。

因此,当我从第一频道切换到第二频道时,音轨DataGridView无法正确更新,仍会显示第一张专辑的曲目。就像我说的那样,其余的更新就好了。

这是我的代码:

[scss] { expected.

3 个答案:

答案 0 :(得分:0)

使用DataBind()方法

InterpretDataGridView.DataBind();

答案 1 :(得分:0)

InterpretDataGridView_SelectionChanged_1中,您只更新3个其他网格中的2个的绑定源,这些是您报告为更改的内容。

其他网格的绑定源:TrackDataGridView仅从AlbumDataGridView_SelectionChanged更新 - 因此请在设置bsSourceMember.DataSource后立即调用此方法。

答案 2 :(得分:0)

所以我找到了解决问题的方法。 这就是我在代码中添加的内容:

    bsSourceAlbum.CurrentChanged += bsSourceAlbum_CurrentChanged;
    void bsSourceAlbum_CurrentChanged(object sender, EventArgs e)
    {
        bsSourceTrack.Clear();

        BindingSource SenderSource = (BindingSource)sender;

        if (SenderSource.Current != null && SenderSource.Current is Album)
        {
            bsSourceTrack.DataSource = ((Album)((BindingSource)sender).Current).Tracks;
        }
    }