RadGrid:高级数据绑定和声明性列?

时间:2018-02-02 00:54:53

标签: c# asp.net telerik radgrid

我使用高级数据绑定来过滤,排序和分页Telerik RadGrid。因为在NeedDataSource事件上设置了DataSource,所以根据DataSource的结构生成列和过滤器。

如果我无法通过唯一ID访问RadGrid的列过滤器,如何以声明方式自定义它?

<telerik:RadGrid
    ID="RadGrid1"
    runat="server"
    AllowCustomPaging="True"
    AllowFilteringByColumn="True"
    AllowPaging="True"
    AllowSorting="True"
    OnNeedDataSource="RadGrid1_NeedDataSource"
    EnableLinqExpressions="False">
</telerik:RadGrid>

aspx.cs:

protected void RadGrid1_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
{
    //RadGrid1Select is a functioning filter/sort/page Select method
    RadGridIsows.DataSource = RadGrid1Select();
    RadGridIsows.VirtualItemCount = count;
}

我可以通过将列过滤器直接放在aspx中来自定义列过滤器,但是这会导致重复列,因为DataSource列无论如何都会绑定到它。如果无法在数据绑定上访问RadGrid列,是否有办法在绑定时将aspx中的某些列与DataSource的DataTable相关联?

1 个答案:

答案 0 :(得分:0)

创建关联不是问题所在。如果我直接在aspx中定义了列,那么DataField属性已经与数据相关联。要解决添加其他列的问题,我必须将RadGrid的AutoGenerateColumns属性设置为false