RadFilter - 如何以编程方式应用表达式

时间:2017-05-12 04:31:07

标签: asp.net telerik filtering radgrid

我有一个响应RadGrid的RadFilter。我已成功执行RadFilter.SaveSettings将RadFilter状态保存到数据库中,并使用RadFilter.LoadSettings将RadFilter加载回来。

但是,加载RadFilter后,我需要点击“应用”按钮刷新我的RadGrid列表。我可以知道在RadFilter.LoadSetting之后是否有任何方法可以自动触发RadGrid的过滤?

感谢。

2 个答案:

答案 0 :(得分:0)

无法找到任何有用的功能,我做了一个解决方法。在Apply Expression事件中,始终将过滤器表达式存储在隐藏字段中。

protected void rftWarehouseItem_ApplyExpressions(object sender, RadFilterApplyExpressionsEventArgs e)
        {
            RadFilterSqlQueryProvider provider = new RadFilterSqlQueryProvider();
            provider.ProcessGroup(e.ExpressionRoot);

            hdfFilterExpression.Value = provider.Result;

            rgdWarehouseItem.MasterTableView.FilterExpression = provider.Result;
            rgdWarehouseItem.Rebind();
        }

在保存到数据库期间,我将hdfFilterExpression.Value存储在数据库中。当从数据库再次检索记录时,只需重新绑定gridview。

rgdWarehouseItem.MasterTableView.FilterExpression = record.FilterExpression;
rgdWarehouseItem.Rebind();

答案 1 :(得分:0)

就去做:

this.RadFilter1.FireApplyCommand();

附言将 RadFilter1 更改为您的对象名称。