如何知道使用Telerik Rad Grid时何时使用过滤器?

时间:2011-11-18 20:54:32

标签: c# asp.net .net telerik radgrid

我有网站搜索,我把搜索结果放到几个Rad Grids中。当网格中没有行时,我会隐藏网格。我有一个特殊情况,当用户应用列过滤器并且没有结果时,我不想隐藏网格。我希望用户能够修改列过滤器,尽管没有结果。我当前的代码隐藏了网格,不允许用户修改列过滤器。

有没有办法知道客户端何时在RadGrid上应用过滤器?

我的客户端代码如下:

function OnClientDataBound(sender, args) {
            toggleLoadingPanel(sender.get_id(), false);

            var grid = $find(sender.ClientID);
            var masterTable = grid.get_masterTableView();
            var rows = masterTable.get_dataItems();

            // I want to be able to determine if the grid has filters applied here 
            // so that I don't hide it in this case. 

            if (rows == 0) {
                var words = sender.ClientID.split("_");
                var divName = "#div" + words[words.length-1];
                jQuery(divName).hide();
            }

        }

1 个答案:

答案 0 :(得分:2)

服务器端(以防万一你发现它很有用):

如果您有Column个对象,则可以使用CurrentFilterFunctionCurrentFilterValue来获取/设置该列的过滤器。

如果您想一次检查整个网格,则可以使用yourRadGridObject.MasterTableView.FilterExpression

客户方:

get_filterExpressions()