このコードを使用すると、指定したセル値の正確な位置を見つけることができます。
Dim value As String = "apple"
Dim _DisplayText_ As String = ""
Dim _row_ As Integer = 0 : Dim _col_ As Integer = 0
For i As Integer = 0 To Me.DataGridView.ColumnCount - 1
For j As Integer = 0 To Me.DataGridView.RowCount - 1
If Me.DataGridView.Rows(j).Cells(i).Value = value Then
_DisplayText_ = Me.DataGridView.Rows(j).Cells(i).Tag
_row_ = j
_col_ = i
Exit For
End If
Next
Next
このネストされたループを使用しない方法はありますか? datagridview の行が数千のデータである場合を想像してみてください...それはすっごく slooowww.
これに似た組み込み関数はありますか?
msgbox(dtg.findrow("apple"))
msgbox(dtg.findcol("apple"))
編集
ループを修正してこれに変更しました。
Dim value As String = "apple"
Dim _DisplayText_ As String = ""
Dim _col_ As String = "colFruits"
Dim _row_ As Integer = 0 : Dim _col_ As Integer = 0
For i As Integer = 0 To Me.DataGridView.RowCount - 1
If Me.DataGridView.Rows(j).Cells(_col_).Value = value Then
_DisplayText_ = Me.DataGridView.Rows(j).Cells(_col_).Tag
_row_ = j
_col_ = i
Exit For
End If
Next