LINQ操作GridView

时间:2010-07-13 19:16:36

标签: c# asp.net gridview

我有一个填充

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

我希望获得类似于

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

如何获得它?

提前致谢。

3 个答案:

答案 0 :(得分:2)

要获得一个可相关的集合,您需要做的就是将GridViewRowCollection转换为IEnumerable。

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

答案 1 :(得分: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此处表示您希望网格绑定的任何类型的对象。)

答案 2 :(得分:0)

您使用查询进入正确的轨道。

唯一的建议是尝试使用绑定到gridview的原始源而不是依赖gridview.DataSource