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

RadGrid: Advanced Data-binding AND declarative columns?

我正在使用高级数据绑定来过滤、排序和分页 Telerik RadGrid。因为数据源是在 NeedDataSource 事件上设置的,所以列和筛选器是基于数据源的结构生成的。

如果无法通过唯一 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 中来自定义列过滤器,但这会导致出现重复列,因为数据源列无论如何都会绑定到它。如果在数据绑定时无法访问 RadGrid 列,是否可以在绑定时将 aspx 中的某些列与 DataSource 的 DataTable 相关联?

创建协会不是问题。如果我直接在 aspx 中定义列,则 DataField 属性 已经关联到数据。为了解决添加额外列的问题,我必须将 RadGrid 的 AutoGenerateColumns 属性 设置为 false.