怎么判断GridControl数据是否进行过修改?

清澈的风 2017-10-20 01:43:18
我的数据源不是datatable,而是linq.Table<myClass>,所以不能去判断datatable的行是不是被修改过。
求助,这个时候怎么看gridcontrol里的数据是不是被修改过。
因为退出按钮的时候应该要问用户是不是要保存修改过的数据。


看到有帖子说只要看实体类的HasChanged属性是否为真就可以了,这个HasChanged属性是怎么用呢?求大神指点
...全文
1516 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
清澈的风 2017-10-25
  • 打赏
  • 举报
回复
只好用最笨的办法完成了,用了两个集合把查询出的数据装在了一个集合内,刷新时把GridControl中得数据装到一个集合内,循环对比各数据是否有改变
清澈的风 2017-10-24
  • 打赏
  • 举报
回复
引用
System.Collections.ObjectModel ObservableCollection<int> list = new ObservableCollection<int>(); list.CollectionChanged += List_CollectionChanged; list.Add(1); private void List_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e) { MessageBox.Show(“我是list 集合,我被修改了,现在的操作为” +e.Action.Tostring() ); } // e.Action 可以 为add, update ..... 如果是update还可以获得修改前的值和修改后的值(e.OldItem, e.NewItem)。
我自己写了,还是一直有问题
清澈的风 2017-10-20
  • 打赏
  • 举报
回复
引用
System.Collections.ObjectModel ObservableCollection<int> list = new ObservableCollection<int>(); list.CollectionChanged += List_CollectionChanged; list.Add(1); private void List_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e) { MessageBox.Show(“我是list 集合,我被修改了,现在的操作为” +e.Action.Tostring() ); } // e.Action 可以 为add, update ..... 如果是update还可以获得修改前的值和修改后的值(e.OldItem, e.NewItem)。
好的,我去试一试,谢谢了呀
大然然 2017-10-20
  • 打赏
  • 举报
回复
System.Collections.ObjectModel ObservableCollection<int> list = new ObservableCollection<int>(); list.CollectionChanged += List_CollectionChanged; list.Add(1); private void List_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e) { MessageBox.Show(“我是list 集合,我被修改了,现在的操作为” +e.Action.Tostring() ); } // e.Action 可以 为add, update ..... 如果是update还可以获得修改前的值和修改后的值(e.OldItem, e.NewItem)。
清澈的风 2017-10-20
  • 打赏
  • 举报
回复
引用
用ObservableCollection<T> 他有一个CollectionChanged事件,可以捕获集合改动
有没有demo呢,不知道怎么去捕获改动。
大然然 2017-10-20
  • 打赏
  • 举报
回复
用ObservableCollection<T> 他有一个CollectionChanged事件,可以捕获集合改动
清澈的风 2017-10-20
  • 打赏
  • 举报
回复
引用
你变个方式就行了,增加枚举标识,例如:表示Normal,Edited, 在触发编辑的事件里 设置枚举为Edited,编辑结束且成功的时候将这个标识改为Normal。 退出的时候判断这个标识是否为Normal就表示没有正在编辑但没保存的的操作。
是这个datasourceChanged事件么
exception92 2017-10-20
  • 打赏
  • 举报
回复
你变个方式就行了,增加枚举标识,例如:表示Normal,Edited, 在触发编辑的事件里 设置枚举为Edited,编辑结束且成功的时候将这个标识改为Normal。 退出的时候判断这个标识是否为Normal就表示没有正在编辑但没保存的的操作。
清澈的风 2017-10-20
  • 打赏
  • 举报
回复
有人懂么,给点提示或者建议都可以的呀

17,740

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧