JQGrid本地搜索多列

时间:2019-02-05 20:19:54

标签: jqgrid

我正在将JQGrid与本地搜索一起使用(在列标题内)。

我有2列要合并它们的搜索- 因此,当我在搜索输入中写入一个值时,将同时在两列中搜索该值。

是否可以实施?如果是这样,怎么办?

感谢提前。

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