簡體   English   中英

Datagrid不更新WPF MVVM中的行

[英]Datagrid is not updating rows in WPF MVVM

在我的應用程序中,我有兩個通過實體框架連接到數據庫的數據網格。 第一個數據網格僅用於選擇工作人員,第二個數據網格用於添加,刪除,更新先前選擇的工作人員培訓。 請檢查屏幕截圖以獲得更好的視圖。

問題是,每當我在第二個datagrid中添加或刪除行時(經過培訓), 它不是更新行 ,而是更新數據庫, 但是datagrid控件保持不變 修改行效果很好。

我在嘗試解決此問題時所做的事情:1.檢查愚蠢的代碼錯誤(拼錯等)2.強制使用OnPropertyChanged(“ ToolboxList”)更新Itemsource; 3.一切都斷點,它可以工作...

但是datagrid行是相同的...

一些線索可能是原因,但我不確定它們是否是造成問題的原因:

  1. enovaWorkers不是其表,而是hr_ToolboxTalk其表,並且由於您無法建立表的關聯視圖,因此它們在EF edmx文件中實際與一對多關聯。

  2. 第二個數據網格不受第一個數據網格(SelectedWorker.hr_ToolboxTalk)中的選擇的約束,因為每當您要編輯第二個網格中的行時,都會引發“不允許編輯”異常。 此處描述: 主詳細數據網格不可編輯

    而且由於我不能也不想編輯實體框架tt文件,所以我使用GetToolboxTalkList()方法進行了變通。 因此,請檢查代碼。

粘貼的代碼(剪切了某些部分):

XAML: pastebin.com/h3sdbfKm

ViewModel: pastebin.com/7Vj3P5UJ

ICommand類: pastebin.com/rQAh7FM9

謝謝您的幫助...

更改:

List<hr_ToolboxTalk> ToolboxList;

至:

ObservableCollection<hr_ToolboxTalk> ToolboxList;

它將起作用,列表不會自動通知視圖。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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