DataGridView - 只读单元格 KeyDown 事件

发布于 2024-12-18 05:18:52 字数 816 浏览 0 评论 0原文

我有一个带有只读单元格的数据网格视图,我想在用户按空格键时显示一个表单对话框窗口。但这是不可能的,因为单元格是只读=真。

我一直在 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

我想保持单元格只读= true。

还有其他方法吗?

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

i have a datagridview with a readonly cell, i would like to show a formdialog window when the user press the space key. but is not possible since the cell is readonly=true.

i'v been using the following code with the EditingControlShowing event. and when the cell is readonly=false it works sometimes.

 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

i would like to keep the cell readonly=true.

is there any other way to do it?

thanks very much for your time and help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

失退 2024-12-25 05:18:52

与其尝试拦截只读单元格的击键(这可能是不可能的),为什么不在字段旁边添加一个按钮列,并在按下该按钮时执行您的操作。

这样您就不必担心单元格是否是只读的,并且您的用户将更容易理解如何访问表单。

以下是 MSDN 文档的链接DataGridViewButtonColumn。

Rather than trying to intercept a keystroke for a readonly cell, which may not be possible, why not add a button column next to the field and when it is pressed, perform your actions.

This way you don't have to worry about whether the cell is readonly or not and it will be easier for your users to understand how the form is to be accessed.

Here is a link to the MSDN documentation on the DataGridViewButtonColumn.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文