我正在将JQGrid与本地搜索一起使用(在列标题内)。
我有2列要合并它们的搜索- 因此,当我在搜索输入中写入一个值时,将同时在两列中搜索该值。
是否可以实施?如果是这样,怎么办?
感谢提前。
答案 0 :(得分:1)
如果我正确理解了您的问题,则可以使用filterToolbar在具有datatype: "local"
的网格中进行搜索。如果jqGrid以here所述的形式填充postData.filters
参数,则对应于通过对话框与multipleSearch: true
进行搜索。
您可以在beforeSearch
方法的filterToolbar
回调中实现您的要求。在回调内部,您可以使用
var postData = $(this).jqGrid("getGridParam", "postData");
获取对postData
对象的引用。然后,您可以使用JSON.parse(postData.filters)
将filterToolbar
创建的过滤器转换为对象。就像
{
"groupOp": "AND",
"rules": [{
"field": "someColumnName",
"op": "cn",
"data": "data entered by user"
}]
}
您可以通过在"rules"
中再添加一项并将postData.filters
设置为新值JSON.stringify(modifiedFiltersObject)
来修改对象。最后,beforeSearch
回调应返回false
继续进行过滤。这样,您将能够实现您的要求。
答案 1 :(得分:0)
如果使用Guriddo jqGrid,则可以使用filterInput方法。此方法允许使用单个输入值搜索网格数据中的所有字段。这是description of the method
这里是demo