2

如何在DataGrid不使用 Linq 的情况下获取要查看的查询结果?

在 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 的原因是我必须使用 .NET 2 Framework。

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 回答