0

このコードを使用すると、指定したセル値の正確な位置を見つけることができます。

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
4

0 に答える 0