我有一个页面使用jqGrid和网格作为子网格。我的页面上还有jQuery UI滑块控件。当用户更改滑块时,我想触发对子网格的字段搜索,该子网格对应于滑块后面的值。
我一直在查看文档以尝试找到执行此操作的最佳方法,但查找this文档非常令人困惑。它似乎也是为了再次调用服务器,因为我使用的是loadonce: true
,所以我不想这样做。
我已经能够通过遍历子网格行并在不符合条件的行上调用hide()
来实现解决方法,但这不符合分页。在子网格上执行此类外部触发搜索的最佳方法是什么?
答案 0 :(得分:0)
我通过对jqGrid源文件中的triggerToolbar方法进行逆向工程找到了一个解决方案(模式'[id^=grid_GR][id$=_t]'
与我的子网格ID匹配):
function external_subgrid_search() {
var ruleGroup = '{"groupOp":"AND","rules":[{"field":"Inv","op":"bw","data":"25"}]}';
$('[id^=grid_GR][id$=_t]').each(function () {
var p = $(this).getGridParam('postData');
p.filters = ruleGroup;
$(this).setGridParam({ postData: p, search: true }).trigger("reloadGrid", [{ page: 1}]);
});
}
这就像我在“Inv”字段的搜索工具栏中输入“25”一样。请记住,这是非常剥离。它会忽略您可能已定义的任何beforeSearch或afterSearch函数,并假定您拥有本地数据。但是,希望它可以作为其他任何试图做类似事情的人的起点。