[英]update WPF DataGrid content after changes in Database
我通過 C# 和 WPF 技術提出申請。
我有一種方法來更新我的 Datagrid 內容:
dgContact.ItemsSource = db.ContactRepository.GetAllContact();
每次添加或更新后,我都會調用此方法。 如果我添加一條記錄,我的網格中會顯示一條新記錄。 但如果我更新記錄,更改不會顯示在我的網格中(在 DB 中更改)。
如何通過 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,嘗試對數據庫進行更改,然后更新 ObservableCollection 並在進行更改時通知它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.