jQuery学习笔记--jqGrid的单字段和多字段查询 详解

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 16:29 点击:

 

首先说明一下,什么是jqGrid的单字段查询。就是只能通过一个字段作为查询条件的查询。虽然大多数情况下,系统功能需要的查询,都是多个字段组合查询的,jqGrid也提供组合多个字段的查询,但是组合多个字段的查询,其实基于的原理还是单字段的查询。所以这里主要介绍一下单字段的查询,以后有机会在来说明一下高级一点的多字段组合查询。

大家可以先看看图片,对单字段查询有一个直观的了解(图片来源于jqGrid的wiki)

\

 

这里需要注意的几点分别说明如下:

 

首先,其实默认jqGrid就有这个功能,所以,向上一篇文章中的例子一样,基本上不需要在js中添加其他的代码。

其次,哪些字段能作为单字段查询,哪些字段不能,这是在jqGrid的colModel属性中可以进行设置的。比如,如果我们对某一个列的数据设置如下:{name:'userName',index:'usrName', width:110,search=false} 那么这个userName列是不会在单字段查询中显示出来的。

第三,点击上面图中的"Find"按钮之后,jqGrid会额外的向服务器发送几个参数过去。想必你已经猜到了,这些参数就是图片中显示的:查询字段searchField,查询操作searchOper以及查询值searchString。这里之所以说是额外的参数,是相对于默认情况下的参数,比如前一篇文章中所说的page,sidx,sord,rows,_search,nd这些参数而言的。当然,这里_search参数的值是true。

第四,最烦处理的,就是如何把我们的searchOper的参数值,转换为对数据库记录的查询操作。

页面上显示的操作,主要包括'equal', 'not equal', 'less', 'less or equal','greater','greater or equal', 'begins with','does not begin with','is in','is not in','ends with','does not end with','contains','does not contain'。相应的,后台获取到的searchOper的值,对应的是'eq','ne','lt','le','gt','ge','bw','bn','in','ni','ew','en','cn','nc'。

最最简单的想法就是像我这养,写一个方法来处理:(以下的例子是基于Hibernate写的)

view plain

1.    /**  

2.    * 根据参数获取查询HQL的语句(如果是日期字段可能会出问题)  

3.    * @param sField 字段名称     

4.    * @param sOper  操作名称     

5.    * @param sValue 值    

6.    * @return    

7.    */   

8.    public static String getOperation(String sField, String sOper,String sValue){ 

9.             

10.   if(sValue==null || sValue.trim().length() ==0) 

11.               return ""; 

12.           String result = ""; 

13.           if(sOper.trim().equals("eq"))       //等于            result = sField + "='" + sValue +"' "; 

14.           else if(sOper.trim().equals("ne"))  //不等于           result = sField + " != '"+ sValue+"' "; 

15.           else if(sOper.trim().equals("lt"))  //小于            result = sField + " < '"+ sValue+"' "; 

16. &

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • Gb2312转utf-8编码的方法(vbs+js)
    • 如何使用Ajax技术开发Web应用程序(1)
    • js跳转路径问题
    • JavaScript模仿桌面窗口
    • 用js检测两个线段是否相交
    • 我知道的JavaScript -- 设计模式(桥接)应用之 – 验证器
    • 运用JavaScript构建你的第一个Metro式应用程序(on Windows
    • 我是如何去了解jquery的(六),案例之幻灯片轮换
    • Jquery封装幻灯片效果
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1