日期:2014-05-17  浏览次数:20920 次

WPF,请问DataGrid控件的挂起更改
我只记得在ADO.NET中有挂起更改,DataRow有几种行状态,然后由SqlDataAdapter提交挂起的更改。
在WPF中,DataGrid控件中有两个方法,也谈到了挂起更改:

CancelEditCommand方法:
  表示命令,该命令指示取消对当前单元格或行所做的任何挂起更改,并还原为执行 BeginEditCommand 命令前的状态的意图。
CommitEditCommand方法:
  表示命令,该命令指示提交对当前单元格或行所做的挂起更改并退出编辑模式的意图。

我不知道WPF中谈到的挂起更改指的是哪种情况,如果DataGrid中列是双向绑定,那应该不存在挂起更改吧,一旦单元格失去焦点就会更新数据源;如果DataGrid中列是单向绑定的,那如何理解挂起更改呢?

------解决方案--------------------
挂起用英文原文pending比较好理解,就是待处理的、未完成的意思。
比如在单元格中输入1234,这时候这个值只是在单元格中,并不改变绑定的数值。
用CancelEdit可以让它回到开始编辑前的状态,而CommitEdit让这些改变生效。

------解决方案--------------------
是CellEdting  和CellEditd
额,英语不好,就是单元格编辑时候,和编辑完成,或者行也行,他里面也差不多 有开启编辑的方法 beginEdit还有CommitEdit大概记得这么点,具体单词可能是写错了,汗一个