如何从datagrid中删除一行

时间:2010-02-25 12:06:38

标签: c# wpfdatagrid

我从CollectionViewSource填充DataGrid。每行都有一个删除按钮。 在删除时,我正在从数据库中删除一行。 我的问题是DataGrids的UI不会更新。 如何清除DataGrid中已删除的行?

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

确保底层集合从INotifyPropertyChanged接口实现,并在删除行时调用OnPropertyChanged。

ObservableCollection是一个实现INotifyPropertyChanged的colelction,所以考虑将其用作底层集合对象。

MSDN对CollectionViewSource

的评论
  

CollectionViewSource是一个代理   CollectionView类或类   派生自CollectionView。   CollectionViewSource启用XAML代码   设置常用的   CollectionView属性,传递   这些设置到底层视图。   CollectionViewSource有一个View   保存实际视图的属性   和一个持有。的Source属性   来源集合。

     

您可以将集合视图视为   绑定源顶部的图层   允许您导航的集合   并显示基于的集合   排序,过滤和分组查询   无需操纵   底层源集合本身。   如果源集合实现   INotifyCollectionChanged   界面,由...引起的变化   CollectionChanged事件被传播   观点。

     

因为视图不会改变   每个基础源集合   源集合可以有多个   与之相关的观点。例如,   你可能有一个任务集合   对象。随着视图的使用,你   可以显示相同的数据   不同的方法。例如,关于   您可能想要的页面左侧   显示按优先级排序的任务   右侧,按地区分组。

     

有关更多信息,请参阅绑定   到数据中的集合部分   绑定概述。

答案 1 :(得分:1)

您还应该从CollectionViewSource中删除该行数据。或者再次从数据库中提取CollectionViewSource。

由于