为什么RadFilter没有正确检测列?

时间:2011-09-16 11:14:28

标签: filter telerik radgrid telerik-grid

我遇到RadFilter没有正确检测列的问题。我通过Asp中的代码绑定我的RadGrid,如:

RadGrid1.DataSource = myDataSource; RadGrid.DataBind();

RadFilter只绑定那些绑定的列,并忽略那些列中的列。这是一个已知的问题?因为我没有看到任何线索谈论这个问题。立即等待帮助。

此致 瓦西姆。

1 个答案:

答案 0 :(得分:2)

如果我理解正确,您需要将FilterFieldEditors添加到RadFilter,以用于未在网格的DataSource中表示的任何字段。

您可以使用以下代码动态添加过滤器。

protected override void OnLoad(EventArgs e)
{
    base.OnLoad(e);
    if (!IsPostBack)
    {
        var fieldName = "myDynamicFilterField";
        var friendlyName = "Friendly Dynamic Field";
        var newTextFieldEditor = new RadFilterTextFieldEditor();

        filter.FieldEditors.Add(newTextFieldEditor);
        newTextFieldEditor.FieldName = fieldName;       // name filter will used for filter exressions
        newTextFieldEditor.DisplayName = friendlyName;  // name use will see when they selected a field to filter

        // ** Repeat for all dynamic fields **
    }
}

我能够使用自动生成的列和自定义添加的列获得工作版本,但遇到了许多其他问题。我最终只是从数据源动态创建所有过滤器字段(如上所示)并将过滤器表达式应用于网格。