我有网站搜索,我把搜索结果放到几个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();
}
}
答案 0 :(得分:2)
服务器端(以防万一你发现它很有用):
如果您有Column
个对象,则可以使用CurrentFilterFunction
和CurrentFilterValue
来获取/设置该列的过滤器。
如果您想一次检查整个网格,则可以使用yourRadGridObject.MasterTableView.FilterExpression
客户方: