无法将LINQ绑定到gridview

时间:2011-05-17 09:31:35

标签: c# asp.net linq data-binding gridview

我只是使用一个简单的LINQ查询,该查询具有group by子句并尝试将其结果集绑定到GridView。 我的LINQ查询看起来像

var expData = from c in WebDB.TransTable
              group c by c.enterdate into g
              select g;

ASP.NET页面上的网格视图

<asp:GridView ID="GridView1" AutoGenerateColumns="true" runat="server" DataKeyField="Key" />

但得到错误:

  

在所选数据源上找不到名为“Key”的字段或属性。

任何人都可以帮助我吗?

没有一个答案是有帮助的

3 个答案:

答案 0 :(得分:2)

expDatastring,因为您已将LINQ查询放在引号内。

var expData = "from c in WebDB.TransTable
            group c by c.enterdate into g
              select g;"

System.String没有名为Key的属性,因此错误。

如果删除引号,它应该都可以正常工作。

答案 1 :(得分:1)

编辑这会忽略你的linq语句中的“”

查看asp.net GridView(aspx代码)上的属性:DataKeyField =“”指向linq查询中不存在的列名

<asp:GridView AutoGenerateColumns="true" DataKeyField="Key"/>

答案 2 :(得分:1)

我也有你的问题,我是这样写的。我希望这对你有用:

var expData = from c in WebDB.TransTable
              group c by c.enterdate into g
              select new {EnterDate = g.Key};