【问题标题】:How to trap delete row ( from keyboard ) in datagridview?如何在datagridview中捕获删除行(从键盘)?
【发布时间】:2009-11-02 08:22:44
【问题描述】:

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

this.datagridview.DataSource = mycollection

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

有些条目无法删除,所以我启用和禁用“删除按钮”。

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

问题是:

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

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

--它从数据网格视图中删除选定的行。 --当用户点击保存时..它也将它保存到Xml中..

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

请帮忙

【问题讨论】:

    标签: c# .net winforms datagridview


    【解决方案1】:

    附加到UserDeletingRow事件,并通过设置e.Cancelled = true取消删除(需要时)

    【讨论】:

      【解决方案2】:

      因为你有一个按钮可以处理他们何时可以“删除”你可以设置:

      CanUserDeleteRows="false"
      

      就在 XAML 的 DataGrid 中。

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-06-30
        • 2012-03-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-07-14
        相关资源
        最近更新 更多