如何在datagridview中捕获删除行(来自键盘)?

时间:2009-11-02 08:22:44

标签: c# .net winforms datagridview

背景 我有一个绑定到datagridview的自定义集合

this.datagridview.DataSource = mycollection

我在用户界面上有一个删除按钮。用户可以单击删除按钮删除所选的DX目录。

有些被委托无法删除,所以我启用并禁用“删除按钮”。

如果用户用户通过单击删除按钮删除条目,它可以正常工作。

问题是:

当用户按下“键盘”中的“删除”按钮

如何捕获键盘“删除”按钮..当我按下键盘上的删除按钮时:

- 它从数据网格视图中删除选定的行。 - 当用户单击“保存”时,它也会将其保存到Xml中。

为了纠正这个问题,我已经处理了数据网格视图的_RowRemoved事件..但仍然没有帮助

请帮助

2 个答案:

答案 0 :(得分:11)

附加到UserDeletingRow事件,并通过设置e.Cancelled = true

取消删除(如果需要)

答案 1 :(得分:0)

因为你有一个可以“删除”的按钮,你可以设置:

CanUserDeleteRows="false"

在XAML的DataGrid中。

这只会阻止他们使用“删除”键(您的按钮仍然有效),因此它会强制他们使用您的按钮删除。

如果您希望他们也能够使用“删除”键(在适当的时候),您需要附加UserDeletingRow事件并在不适合删除时处理取消。