我已使用可编辑的WPF DataGrid绑定了一个列表
我想从WPF数据网格中仅获取修改后的项目以进行更新。
请让我知道如何做到这一点。
答案 0 :(得分:1)
我的WPF datagrid应用程序设置如下:
1)手动定义所有列,设置其绑定,并为指定的每个绑定通知源更新
2)为datagrid的SourceUpdated事件
添加了一个事件处理程序3)在事件处理程序中,我只有以下代码:
this.updatedItems.Add(BindingOperations.GetBindingExpression(e.TargetObject, e.Property).DataItem as MyClass);
updatedItems是一个HashSet<>和MyClass是绑定到datagrid的ItemsSouce的对象类型。
4)当用户点击保存按钮时,我只需枚举哈希集。 Hashset很好,因为它只包含唯一值。因此,如果多次编辑行,或者即使编辑同一行中的多个单元格,则散列集仍将只包含该对象的单个条目。
答案 1 :(得分:0)
你的数据行上有一个RowState属性(还有一个RowChanged事件),但请确保你需要这个。我是否错误地认为数据绑定会自动确定哪些行需要更新?