【发布时间】:2012-10-01 15:46:54
【问题描述】:
我正在使用 DataGrid 向用户显示数据。
我允许用户编辑数据并添加新行。是否可以使用CanUserDeleteRows 的内置功能来允许用户仅删除他刚刚添加的行。
所以用例描述:
1) 用户打开数据网格 2) datagrid 显示其内容 3)用户添加了几行 4) 用户删除他添加的一个(或全部)行。 5) 用户无法删除最初加载时数据网格中的行
...所以只有“新”行才能被删除。什么方法在这里最好?我现在有点想不通...
更新:为了满足您的 cmets ;)
我正在使用自定义类的 ObservableCollection 来填充数据网格。所以“问题”是我实际上不知道如何“拦截”删除事件,也不知道如何在不破坏 mvvm 模式的情况下做到这一点。
【问题讨论】:
-
您使用什么数据类型来绑定 DataGrid?如果 DataTable 则 DataRow 具有已添加状态,如果在 DataTable 中添加了新行。