使用linq从datagridview中查找多个行索引

时间:2017-06-22 18:25:42

标签: linq datagridview

下面的回答让我得到第一行索引,但有些情况下我的where子句有多行。如何获得多行的“记录集”。

int index = -1;

DataGridViewRow rowx = 
    dgvMatchErrors.Rows.Cast<DataGridViewRow>()
    .Where(r => r.Cells[1].Value.ToString().Equals(intErrorRowid.ToString()))
    .First();

index = rowx.Index;

How to find the row ID from datagridview, given a row value?

2 个答案:

答案 0 :(得分:1)

您可以尝试删除查询中的First()方法调用

DataGridViewRow rowx = 
    dgvMatchErrors.Rows.Cast<DataGridViewRow>()
    .Where(r => r.Cells[1].Value.ToString().Equals(intErrorRowid.ToString())).Select(r=>r);

答案 1 :(得分:0)

这给了我一个基于where子句的所有行索引的列表。

List<DataGridViewRow> rows = 
    dgvMatchErrors.Rows.Cast<DataGridViewRow>().Where(
           r => r.Cells[1].Value.ToString().Equals(intErrorRowid.ToString())
    ).ToList();