我有一个带有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。
还有其他办法吗?
非常感谢您的时间和帮助。
答案 0 :(得分:0)
为什么不在字段旁边添加按钮列并按下按钮列,而不是尝试拦截只读单元格的按键,执行操作。
通过这种方式,您无需担心单元格是否只读,用户可以更轻松地了解表单的访问方式。
以下是DataGridViewButtonColumn上MSDN documentation的链接。