我正在尝试将数据绑定到我的网格,但它向我显示空行。
我怎样才能做到这一点?是否无法将对象[]绑定到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"}
};
}
答案 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