DataGridView
5列あります。
列 1 と列 5 のセルは ComboBoxes です。
これらの ComboBox のいずれかを変更するたびに実行される関数があります。
ここで、関数を適切に実行するために、編集した ComboBox が属する列を取得する必要があります。
列 1 に属する ComboBox を変更すると、そのようにFunction 1
実行されます。
列 5 に属する ComboBox を変更すると、Function 2
実行されます。
DataGridView
5列あります。
列 1 と列 5 のセルは ComboBoxes です。
これらの ComboBox のいずれかを変更するたびに実行される関数があります。
ここで、関数を適切に実行するために、編集した ComboBox が属する列を取得する必要があります。
列 1 に属する ComboBox を変更すると、そのようにFunction 1
実行されます。
列 5 に属する ComboBox を変更すると、Function 2
実行されます。
または
DataGridView.CurrentCell.ColumnIndex
次に、定義済みの列がありDataGridView
(たとえば、列の名前は になりますDataGridView_ComboBoxOne
)、インデックスの比較をハードコーディングしたくない場合
次のように使用できます。
Select case DataGridView.CurrentCell.ColumnIndex
Case DataGridView_ComboBoxOne.Index
Function1()
Case DataGridView_ComboBoxTwo.Index
Function2()
Case Else
'Update of other columns
End Select
Dim columnIndex as Integer
columnIndex = e.ColumnIndex
これは、現在のセルを使用せずに列インデックスを取得する直接的な方法です。DataGridView1_ColumnHeaderMouseClick の下で使用します。
ああ、愚かな私、
DataGridView.CurrentCellAddress.X 'Column
DataGridView.CurrentCellAddress.Y 'Row