jqGrid高级查询

  高级查询可以同时查询多个字段,使用不同的条件。单字段和高级查询使用相同的方法,但是配置和提交的数据不一样。

安装

要使用这个模块,你需要在下载页面勾选Common, Form Edit, filter插件,下载地址:http://www.trirand.com/blog/?page_id=6

调用方式

jQuery("#grid_id").searchGrid( {multipleSearch:true,...} );
//新 API
jQuery("#grid_id").jqGrid('searchGrid', {multipleSearch:true,...} );

函数说明

  • grid_id :已经构造过的表格id
  • multipleSearch:设置为true表示高级查询
  • … :其他选项,键值对对象

这样设置高级查询

jQuery("#grid_id").jqGrid('searchGrid', {multipleSearch:true,...} );
  • multipleGroup:设置为true表示使用高级查询对话框添加复杂的分组条件

  调用这个方法启用模态对话框,grid无法操作直到对话框关闭。这个方法不是导航条查询方法的默认值。要将这个设置为导航条查询的默认方法,使用扩展方法设置默认查询选项或者设置导航条的查询选项。(To enable this you should either set the default search options using the extend method or set it in the navigator in the place of the search options. )

  高级查询效果图如下

Advenced Searching

  如上图所示,用户可以添加没有限制的查询条件或者者删除某些条件。

选项

  高级查询和 jqGrid单字段查询也有相同的选项。下面将介绍和高级查询有关的选项。

  • multipleSearch:设置为true表示高级查询
  • sFilter:此配置决定提交数据的名字。默认值为: filters

  提交到服务器的数据会同时添加(with _search=true)到url,提交的数据大致如下

filters = 
   {
    "groupOp":"OR",
    "rules":[{"field":"a.id","op":"eq","data":"1"}],
    "groups":[
         {
             "groupOp":"AND",
             "rules":[{"field":"a.id","op":"eq","data":"2"}],
             "groups":[...]
         }
     ]
}

参数说明

  • groupOp :查询规则。可以为"AND"或者“OR”。用户可以通过上图的jqGrid高级查询进行修改。(选择ANY对应OR)
  • rules :JSON对象包含下面的选项
    • field :包含colModel中配置index(没有配置index则是name)
    • op :查询条件,参考: options
    • data:输入的查询值
  • groups :其他 groupOp设置,rules 元素定义一个复杂的搜索查询

来源:http://www.trirand.com/jqgridwiki/doku.php?id=wiki:advanced_searching

 


原创文章,转载请注明出处:jqGrid高级查询

评论(0)Web开发网
阅读(2495)喜欢(0)不喜欢(1)jqGrid中文API