在数据库中发生更改后更新WPF DataGrid内容



我用C#和WPF技术做了一个应用程序。

我有一种更新Datagrid内容的方法:

dgContact.ItemsSource = db.ContactRepository.GetAllContact();

每次添加或更新后,我都会调用此方法。如果我添加了一条记录,则会在我的网格中显示一条新记录。但如果我更新了一条记录,则更改不会显示在我的网格中(在DB中更改(。

如何根据数据库中的最后一个数据更新Datagrid内容?

感谢

它取决于方法返回的结构类型。

如果您的方法返回非ObservableCollection,那么您可以在将DataGrid.ItemsSource设置为方法之前,将DataGrid1.ItemsSource=null;通过这种方式,您告诉WPF系统发生了更改,您的DataGrid将被更新,如下所示:

private void Update_OnClick(object sender, RoutedEventArgs e) {
this.DataGrid1.ItemsSource = null;
this.DataGrid1.ItemsSource = db.ContactRepository.GetAllContact();
}

另一方面,如果您的方法返回ObservableCollection,只需按照以前的方式设置ItemsSource属性,WPF系统就会检测到更改。

检查这个项目,这样你就可以验证它。

您可以将DataDrid ItemSource绑定到ObservableCollection,尝试对数据库进行更改,然后更新ObservableLibrary,它会在进行更改时发出通知。

相关内容

  • 没有找到相关文章

最新更新