我有一个WPF数据网格。网格的内容绑定到数据集的SELECT结果。网格加载正常。加载网格后,我想在WPF绑定中指定一个事件来更新网格的内容(以及后端的数据库)。这是有效的,但第一个变化没有被提交。如果我第二次返回并更改相同的数据项,我会看到 FIRST 更改已提交给数据库。
我的专栏的XAML出现在名为dgProducts的数据网格中。列xaml位于
之下<my:DataGridTextColumn Header="Name" Width="Auto" Binding="{Binding ProductName, NotifyOnSourceUpdated=True, UpdateSourceTrigger=LostFocus, Mode=TwoWay}" />
dgProducts的SourceUpdated事件定义为:
prodAdapter.Update(dgProducts.DataContext.Data)
Update方法是从为表接受ProductsDataTable作为参数的表定义的数据集生成的。这似乎有效,只有一个交易落后。如果我在调试模式下查看DataTable,我会看到我对列提交的值没有改变。
我错过了某种地方的刷新或是否有其他东西被忽视了?
由于
答案 0 :(得分:1)
SourceUpdated似乎在实际提交网格更改之前触发。我使用了CellChanged事件,它正常工作。