DataGridView - событие чтения ключа только для ячеек - PullRequest
0 голосов
/ 25 ноября 2011

У меня есть сетка данных с ячейкой только для чтения, я хотел бы показать диалоговое окно, когда пользователь нажимает клавишу пробела. но невозможно, так как ячейка только для чтения = true.

Я использовал следующий код с событием EditingControlShowing. и когда ячейка только для чтения = ложь, она иногда срабатывает.

 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.

есть ли другой способ сделать это?

Большое спасибо за ваше время и помощь.

1 Ответ

0 голосов
/ 25 ноября 2011

Вместо того, чтобы пытаться перехватить нажатие клавиши для ячейки только для чтения, что может быть невозможным, почему бы не добавить столбец кнопки рядом с полем и при его нажатии выполнить свои действия.

Таким образом, вам не нужно беспокоиться о том, доступна ли ячейка для чтения или нет, и вашим пользователям будет проще понять, как получить доступ к форме.

Вот ссылка на документацию MSDN в DataGridViewButtonColumn.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...