在Telerik中绑定对象[]到数据源

本文关键字:数据源 对象 Telerik 绑定 | 更新日期: 2023-09-27 18:08:19

我试图将数据绑定到我的网格,但它显示我空行。

我怎样才能做到这一点?在Telerik中不可能绑定对象[]到数据源吗?

<telerik:RadGrid ID="RadGrid1" runat="server">
    <MasterTableView>
        <Columns>
            <telerik:GridBoundColumn UniqueName="ContactTitle"
HeaderText="Bound Column" DataField="ContactTitle">
            </telerik:GridBoundColumn>
        </Columns>
    </MasterTableView>
</telerik:RadGrid>

页面加载事件:

protected void Page_Load(object sender, EventArgs e)
{
    RadGrid1.DataSource = BinddataGrid();
}
private object[] BinddataGrid()
{
    return new object[] { 
        new object[] {"TEST1"},
        new object[] {"TEST2"},
        new object[] {"TEST3"},
        new object[] {"TEST4"}
    };
}

在Telerik中绑定对象[]到数据源

你将网格与数组对象的数组绑定,相反,您必须首先将其绑定到对象数组,其次,在定义对象时,仅使用new关键字,第三,将列映射到不存在的数据字段ContactTitle,这段代码可以工作:

protected void Page_Load(object sender, EventArgs e)
{
    RadGrid1.DataSource = BinddataGrid();
}
private object[] BinddataGrid()
{
    return new object[] { 
        new  {ContactTitle = "TEST1"},
        new   {ContactTitle ="TEST2"},
        new   {ContactTitle ="TEST3"},
        new   {ContactTitle ="TEST4"}
        };
}
在你的radgrid中,添加autogenerateccolumns ="false":
<telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="false">
    <MasterTableView>
        <Columns>
            <telerik:gridboundcolumn uniquename="ContactTitle" headertext="Bound Column"                 datafield="ContactTitle">
                </telerik:gridboundcolumn>
        </Columns>
    </MasterTableView>
</telerik:RadGrid>

是的。不过,您可能希望使用NeedDataSource事件:http://demos.telerik.com/aspnet-ajax/grid/examples/data-binding/simple-vs-advanced/defaultcs.aspx