2012-08-08 51 views
1

我有一个DataGridView类似下面的一个:获取基于行索引的表从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对应于那些行索引从数据1列中的值。所以我在寻找什么脱身(在这个例子中)是一些数据类型包含“Y”和“Z”。

我不想遍历DataGridView因为我有大量的数据样本存在。有没有办法与LINQ做到这一点?我仍然是LINQ初学者。

回答

1

使用Enumerable.Select方法是这样的:

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

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

+0

这是完美的。正是我在找什么。唯一的麻烦是我不得不从列表更改为IEnumerable类型。谢谢! – 2012-08-08 18:15:51

+0

不得不等待接受。没有足够的代表投票了。 :) – 2012-08-08 18:18:24

0

您使用凸轮

int id= (int)myList[0]; 

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

现在,您可以通过使用对应列表中的字符串数组访问DATA1值

相关问题