根据行索引列表获取DataGridView中的项列表

时间:2012-08-08 18:02:43

标签: c# .net winforms

我有DataGridView类似于下面的内容:

ID    Name    Data1   Data2
1     MM      X       1000
2     ST      Y       1000
3     EC      Z       1000
4     JT      T       1000

我还有一个对我很重要的行索引列表。

List<int> myList = new List<int>();
myList.Add(1);
myList.Add(2);

现在我要做的是从我的DataGridView中的Data1列中获取与这些行索引相对应的值。所以我想要得到的(在这个例子中)是一些包含“Y”和“Z”的数据类型。

我不想迭代DataGridView,因为那里有大量的数据样本。有没有办法用LINQ做到这一点?我还是LINQ的初学者。

2 个答案:

答案 0 :(得分:1)

使用Enumerable.Select方法,如下所示:

IEnumerable<string> columnValues = myList.Select(x => data.Rows[x].Cells["Data1"].Value);

此代码假定您对DataGridView的引用存储在变量data中。

答案 1 :(得分:0)

你可以使用

int id= (int)myList[0];

string[] Data1= (from DataRow row1 in Datatable.Rows
                          where row1["ID"] == id
                          select row1["Data1"].ToString()).ToArray();

现在您可以使用与列表值

对应的字符串数组来访问data1