2

DataGridLinqを使用せずに表示するクエリの結果を取得するにはどうすればよいですか?

Linqで、dgvへdgvInfoのクエリがあります(クエリは、dgvInfoで認識されている "colNombre"の値を含むレジストリの行インデックスを取得します):

Dim dgvRow As DataGridViewRow = _
   (From row As DataGridViewRow In dgvInfo.Rows
    Where row.Cells("colNombre").Value.ToString().ToUpper().Contains(name.ToUpper())
    Select row).FirstOrDefault()

If Not dgvRow Is Nothing Then
   dgvRow.Selected = True
   dgvInfo.FirstDisplayedScrollingRowIndex = dgvRow.Index
   dgvInfo.PerformLayout()
End If

Linqを使用しない理由は、.NET2Frameworkを使用する必要があるためです。

4

2 に答える 2

2

for ループを使用し、各レジストリの状態をチェックするとうまくいきます

Dim dgvRow As DataGridViewRow = Nothing
For Each r As DataGridViewRow In dgvInfo.Rows
    If r.Cells("colNombre").Value.ToString().ToUpper() = name.ToUpper() Then
        dgvInfo.Rows(r.Index).Selected = True
        dgvInfo.FirstDisplayedScrollingRowIndex = r.Index               
        Exit For
    End If
Next
于 2013-02-21T04:32:39.453 に答える
1

シンプルなForeach. C#:

DataGridViewRow row=null;
foreach(DataGridViewRow r in dgv.Rows)
    if(ConditionMatches(r))
    {
        row=r;
        break;
    }
于 2013-02-21T02:45:47.100 に答える