簡體   English   中英

更改數據庫后更新 WPF DataGrid 內容

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM