所以我目前正在开发一个数据库项目,但我的GUI不能正确更新。
我的程序目前有四个DataGridViews。第一个包含所有乐队。 第二个显示所选乐队的所有乐队成员。 第三个显示所选乐队的所有专辑。 第四个显示所选专辑的所有曲目。
当我在两个乐队之间切换时,乐队成员和专辑更新得很好。 但这是我的问题:
我有两个乐队。第一个在每个表中都有几个条目。 第二个只有乐队本身。
因此,当我从第一频道切换到第二频道时,音轨DataGridView无法正确更新,仍会显示第一张专辑的曲目。就像我说的那样,其余的更新就好了。
这是我的代码:
[scss] { expected.
答案 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;
}
}