在寻找了几个小时甚至几天之后,我仍然找不到一个令人满意的解决方案来解决我的问题:
我要做的就是以编程方式使用 jqgrid 的本地搜索/过滤器选项(当前使用 free-jqgrid 4.9.0)。
例如,我想做一些类似于本地“multipleSearch”的事情——而不必从服务器重新加载数据。
到目前为止我发现并尝试的是这段代码:
var filters = { "groupOp": "AND", "rules": [{ "field": "my_field", "op": "eq", "data": "1234" }] };
//To filter:
jqGridFilter(filters , $('#my_grid'));
但这似乎仅适用于旧版本的 jqgrid,因为我只收到错误消息:“未捕获的 ReferenceError:未定义 jqGridFilter”
TL;DR:我“只是”想以编程方式使用(最好)free-jqgrid 4.9.0 进行本地“multipleSearch”。
谢谢你的帮助!
更新:
在尝试了postData
Oleg 在他的评论中提到的方式之后,我的主要问题是我使用了一个只有 1 条规则的“groupOp”:
postData = {
filters : {"groupOp":"AND","rules":[{"field":"name","op":"cn","data":"anne"}]},
search : true
}
当省略“groupOp”选项时,它工作了几次。我的代码如下所示:
$("#grid").jqGrid("setGridParam", {
postData : {
filters : {"rules":[{"field":"name","op":"cn","data":"anne"}]},
search : true
}
}).trigger("reloadGrid");
经过几次重新加载并尝试不同的过滤器后,由于某些奇怪的原因,原始代码不再起作用。我不知道出了什么问题——要么是我,要么是 free-jqgrid 中的一些奇怪的错误。