2010-07-13 29 views
2

我有填充LINQ操作的GridView

ID Name City 
1 Bobby AAA 
2 Laura BBB 
3 Ilisha CCC 

一個GridView我想獲得一個枚舉集合類似以下

var Query= from p in GridView1.Rows 
    select new { User_ID=p.ID,User_Name=p.Name,User_City=p.City }.ToList(); 

如何獲得呢?

在此先感謝。

回答

1

如果您嘗試使用網格行代表的實際對象,則需要訪問該行的DataItem屬性。

var query = from p in GridView1.Rows.Select(r => r.DataItem as YourDataType) 
      select new 
      { 
       User_ID=p.ID, 
       User_Name=p.Name, 
       User_City=p.City 
      }.ToList() 

YourDatatype這裏代表你期待什麼類型的對象的網格綁定到)。

0

你在正確的軌道與查詢。

唯一的建議是嘗試使用結合到GridView,而不是依靠gridview.DataSource

2

爲了得到一個枚舉集合的原始來源,所有你需要做的就是投的GridViewRowCollection爲IEnumerable 。

IEnumerable<GridViewRow> rows = GridView1.Rows.Cast<GridViewRow>() 
+0

我剛跑過來,你知道我們爲什麼必須把它放在第一位嗎? 'GridViewRowCollection'繼承自'IEnumerable'。我們不應該直接「LINQ」嗎? – shotor 2017-06-25 12:09:54