2012-08-08 49 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值

相關問題