2つの列を持つバインドされていないDataGridViewがあります。最初の列は単なる文字列値です。2番目の列ユーザーがセルをクリックしたときにのみコンボボックスを表示したい(DataGridViewColumnとして列全体ではない)。以下のコードを使用しましたが、これは正しくなく、エラーが発生します。SetCurrentCellAddressCore関数への再入可能な呼び出しが発生するため、操作は無効です。 最初の列は入力され、2番目の列は空です。
コードは以下の通りです:
Private Sub DGVFieldsMap_CellEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DGVFieldsMap.CellEnter
If e.ColumnIndex = 1 Then
If cboClmCell Is Nothing Then
Dim dgv As DataGridView = CType(sender, DataGridView)
cboClmCell = New DataGridViewComboBoxCell
cboClmCell.Items.Add("A")
cboClmCell.Items.Add("B")
cboClmCell.Items.Add("C")
cboClmCell.Items.Add("D")
cboClmCell.Items.Add("E")
cboClmCell.Items.Add("F")
dgv.Focus()
dgv(e.ColumnIndex, e.RowIndex) = cboClmCell '[Error Here]
isCombo = True
End If
End If
End Sub
Private Sub DGVFieldsMap_CellValidating(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellValidatingEventArgs) Handles DGVFieldsMap.CellValidating
If e.ColumnIndex = 1 Then
Dim dgv As DataGridView = CType(sender, DataGridView)
If isCombo Then
isCombo = False
cboClmCell = Nothing
dgv(e.ColumnIndex, e.RowIndex) = New DataGridViewTextBoxCell()
End If
End If
End Sub
誰かが私に2つの列を持つ完全な実例を教えてもらえますか?2番目の列はComboBoxCellですが、ユーザーがクリックしたときだけです。また、DataGridViewセルで選択した値を取得する必要があります。前もって感謝します。