如何在没有Linq的情况下查询DataGridView

问题描述:

如何在不使用Linq?的情况下将查询结果获取到DataGrid视图。如何在没有Linq的情况下查询DataGridView

在LINQ我有一个查询到我的DGV dgvInfo(查询获取包含“colNombre”,也就是在dgvInfo已知值在注册表中的行索引):

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。

一个简单的Foreach。 C#:

DataGridViewRow row=null; 
foreach(DataGridViewRow r in dgv.Rows) 
    if(ConditionMatches(r)) 
    { 
     row=r; 
     break; 
    } 

使用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