JQGrid 本地搜索多列
JQGrid local search multiple columns
我将 JQGrid 与本地搜索结合使用(在列 header 内)。
我有 2 个列,我想合并它们的搜索 -
因此,当我在搜索输入中写入一个值时,将同时在 2 列中搜索该值。
这个可以实现吗?如果是这样,怎么做 ??
提前致谢。
如果我正确理解你的问题,你使用 filterToolbar for searching in a grid which has datatype: "local"
. In the case jqGrid fills postData.filters
parameter in the form described here,这对应于通过对话框搜索 multipleSearch: true
。
您可以在 filterToolbar
方法的 beforeSearch
回调中实现您的要求。在回调中你可以使用
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
回调应该 return false
继续过滤。这样,您将能够实现您的要求。
如果你使用Guriddo jqGrid, you can use filterInput method. This method allow to search on all fields in grid data using single input value. Here is description of the method
这是一个demo
我将 JQGrid 与本地搜索结合使用(在列 header 内)。
我有 2 个列,我想合并它们的搜索 - 因此,当我在搜索输入中写入一个值时,将同时在 2 列中搜索该值。
这个可以实现吗?如果是这样,怎么做 ??
提前致谢。
如果我正确理解你的问题,你使用 filterToolbar for searching in a grid which has datatype: "local"
. In the case jqGrid fills postData.filters
parameter in the form described here,这对应于通过对话框搜索 multipleSearch: true
。
您可以在 filterToolbar
方法的 beforeSearch
回调中实现您的要求。在回调中你可以使用
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
回调应该 return false
继续过滤。这样,您将能够实现您的要求。
如果你使用Guriddo jqGrid, you can use filterInput method. This method allow to search on all fields in grid data using single input value. Here is description of the method
这是一个demo