DataSet.AcceptChanges的问题

项目中需要有个这样功能,在Grid中直接添加/删除/修改数据,希望能像Outlook,进行这些操作可以保持住当前group的Expand和Collapse状态。

实际过程中,一直无法保持当前状态,每次添加新的DataRow,都会展开所有的Group。

后来发现问题出在DataSet.AcceptChanges()中,因为在DataSet.AcceptChanges()或Merge()后,DataSet会通知所有DataView更改,DataView会通知绑定的控件。数据绑定的控件会重新计算数据,所以之前的Group状态会丢失。
所以只要改成对每个更新的Row做dataRow.AcceptChanges(),就不会有问题,Group状态也不丢失。

posted on 2004-07-09 17:43  duibudui  阅读(1055)  评论(0编辑  收藏  举报

导航