none
DataGridView中对选定单元格或区域按Del键清除内容的问题。 RRS feed

  • 问题

  • DataGridView不支持选定后Del键直接清除(双击获得光标焦点后则可以)。实际工作中我们常需要选定多个单元格(区域),让后按Del键快速清除内容(就像Excel一般)。

    试图捕捉KeyPress事件,通过判断KeyChar来操作。似乎没响应。

    2011年5月19日 17:43

答案

  • Hi Mailion,

    Please take a look at this code:

      Private Sub DataGridView1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles DataGridView1.KeyDown
        Console.WriteLine(e.KeyData)
        If e.KeyCode = Keys.Delete Then
          For Each cell As DataGridViewCell In DataGridView1.SelectedCells
            If IsDBNull(cell.Value) = False Then
              cell.Value = DBNull.Value
            End If
          Next
        End If
      End Sub
    

    I hope this will be helpful.

    Best regards,


    Mike Feng [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2011年5月23日 13:52
    版主

全部回复

  • 你好

    或者你可以嘗試更改這個DataGridView的 屬性 Properties 

    把屬性"Edit Mode 修改模式" 轉成 "EditOnEnter /進入時修改" 便可

    E.G.

    Please correct me if my concept is wrong


    Chi
    2011年5月19日 21:07
    版主
  • 谢谢ChiYua!只对活动单元格有效,多个单元格无法全部清空。
    2011年5月20日 1:41
  • Hi Mailion,

    Please take a look at this code:

      Private Sub DataGridView1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles DataGridView1.KeyDown
        Console.WriteLine(e.KeyData)
        If e.KeyCode = Keys.Delete Then
          For Each cell As DataGridViewCell In DataGridView1.SelectedCells
            If IsDBNull(cell.Value) = False Then
              cell.Value = DBNull.Value
            End If
          Next
        End If
      End Sub
    

    I hope this will be helpful.

    Best regards,


    Mike Feng [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2011年5月23日 13:52
    版主
  • 弱弱的 MARK
    2011年5月25日 13:46