在Linq中通过Eval绑定Gridview

时间:2012-07-10 05:49:00

标签: c# sql linq linq-to-sql linq-to-entities

我有一个连接两个表的LINQ表达式。我想将'List'绑定到Gridview。代码在Gridview模板中出现此错误:              DataBinding:'SearchResult'不包含名为'codereq'的属性。

IQueryable<SearchResult> myList = from t in TBL_Apartment
    join k in TBL_Owner on t.Code equals k.Code
    where k.CodeReq == t.CodeReq

        select new SearchResult
        {
           codereq= t.CodeReq,
           name = t.Name
        }

public class SearchResult
{
    public string codereq;
    public string name;
}

绑定Gridview代码:

    GridSearch.DataSource = myList.ToList();
    GridSearch.DataBind();

我的网格视图的aspx页面如下:

<telerik:RadGrid ID="GridSearch" runat="server" Skin="Office2007" AutoGenerateColumns="False"
        dir="rtl" Width="750px" GridLines="None" >

<MasterTableView>
<Columns>

<telerik:GridTemplateColumn HeaderText="Request Code" FilterControlWidth="100px">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("codereq")==""?"0":Eval("codereq") %>'></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>

<telerik:GridTemplateColumn HeaderText="Owner Name" FilterControlWidth="100px">
<ItemTemplate>
<asp:Label ID="Lbl_Mahale" runat="server" Text='<%# Eval("name")==""?"":Eval("name") %>'></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>

</Columns>
</MasterTableView>

<PagerStyle AlwaysVisible="True" />
<ClientSettings><Selecting AllowRowSelect="True" /></ClientSettings>

</telerik:RadGrid>

1 个答案:

答案 0 :(得分:0)

这应该有帮助

var myCodeReq = 1; (or some other type of variable)

    List<SearchResult> myList = (from t in TBL_Apartment join k in TBL_Owner on t.Code equals k.Code where k.CodeReq == myCodeReq select new SearchResult { codereq = t.CodeReq, name = t.Name }).ToList();

    GridSearch.DataSource = myList;
    GridSearch.DataBind();