DataGridView - ReadOnly Cell KeyDown事件

时间:2011-11-25 17:30:36

标签: vb.net datagridview readonly

我有一个带有readonly单元格的datagridview,我想在用户按空格键时显示一个formdialog窗口。但由于单元格是readonly = true,因此不可能。

我在EditingControlShowing事件中使用了以下代码。当细胞是readonly = false时,它有时会起作用。

 Private Sub sub_fecha_keydown(ByVal sender As Object, ByVal e As KeyEventArgs)
    If e.KeyCode = Keys.Space Then
        Dim frm As New frmFecha
        frm.fecha_inicial = Me.m_dtp_id_fecha.Fecha
        Dim res As DialogResult = frm.ShowDialog()
        If res = Windows.Forms.DialogResult.OK Then
            Me.m_dgv_detalle.Rows(Me.m_dgv_detalle.CurrentRow.Index).Cells("m_dgv_dtm_documento").Value = frm.fecha_format
        Else
            Me.m_dgv_detalle.Rows(Me.m_dgv_detalle.CurrentRow.Index).Cells("m_dgv_dtm_documento").Value = ""
        End If
    End If
End Sub

我想保持单元格readonly = true。

还有其他办法吗?

非常感谢您的时间和帮助。

1 个答案:

答案 0 :(得分:0)

为什么不在字段旁边添加按钮列并按下按钮列,而不是尝试拦截只读单元格的按键,执行操作。

通过这种方式,您无需担心单元格是否只读,用户可以更轻松地了解表单的访问方式。

以下是DataGridViewButtonColumn上MSDN documentation的链接。