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

时间:2014-06-11 10:13:03

标签: c# asp.net telerik radgrid

我正在尝试将数据绑定到我的网格,但它向我显示空行。

我怎样才能做到这一点?是否无法将对象[]绑定到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"}

    };
}

2 个答案:

答案 0 :(得分:3)

你用一组对象数组绑定网格, 相反,你必须首先将它绑定到一个对象数组,其次,在定义一个对象时,只使用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中添加属性AutoGenerateColumns =&#34; false&#34;:

<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>

答案 1 :(得分:0)

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