我使用高级数据绑定来过滤,排序和分页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相关联?
答案 0 :(得分:0)
创建关联不是问题所在。如果我直接在aspx中定义了列,那么DataField属性已经与数据相关联。要解决添加其他列的问题,我必须将RadGrid的AutoGenerateColumns
属性设置为false
。