列表单查询和组合查询使用一、单条件查询 Ø 在<t:dategrid>列表标签中设置queryMode="single" 当然也可以不设置,因为默认就是single,即以单条件查询方式展现。 效果:
二、组合条件查询Ø 在<t:dategrid>列表标签中设置queryMode="group" 效果:
三、字段范围查询Ø 在<t:dgCol>字段标签中设置queryMode="group"
效果:
Ø 设置范围查询后,该查询字段会生成两个:即 字段名_begin 字段名_end。 实现具体的查询功能需要在后台将这两个查询条件加入到hql中。 Ø 示例: 1 @RequestMapping(params = "datagrid") 2 public void datagrid(JeecgDemojeecgDemo,HttpServletRequest request, HttpServletResponse response, DataGriddataGrid) { 3 CriteriaQuerycq = new CriteriaQuery(JeecgDemo.class, dataGrid); 4 //查询条件组装器 5 org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq,jeecgDemo); 6 StringctBegin = request.getParameter("createTime_begin"); 7 String ctEnd= request.getParameter("createTime_end"); 8 if(ctBegin!=null && ctEnd!=null){ 9 try { 10 cq.ge("createTime", new SimpleDateFormat("yyyy-MM-dd").parse(ctBegin)); 11 cq.le("createTime", new SimpleDateFormat("yyyy-MM-dd").parse(ctEnd)); 12 } catch (ParseException e) { 13 e.printStackTrace(); 14 } 15 cq.add(); 16 } 17 this.jeecgDemoService.getDataGridReturn(cq, true); 18 TagUtil.datagrid(response,dataGrid); 19 }
在控制器中用request接收传递到后台的查询条件,或者直接在方法参数列表里填上,springmvc会帮我们获得。 然后将得到的范围查询条件添加到CriteriaQuery对象中,最后调用CriteriaQuery的add()方法加载生成hql。 至此,范围查询就完成了。
四、给查询字段加上日期控件以jeecgDemoList.jsp中的创建时间字段为例 Ø 给createTime设置上范围查询 1 <t:dgCol title="创建日期" field="createTime" formatter="yyyy-MM-ddhh:mm:ss" query="true" queryMode="group"></t:dgCol>
Ø 用jquery控制生成的 createTime_begincreateTime_end 两个查询条件的样式为日期控件样式。 1 $(document).ready(function(){ 2 $("input[name='createTime_begin']").attr("class","easyui-datebox"); 3 $("input[name='createTime_end']").attr("class","easyui-datebox"); 4 );
效果:
源码:/jeecg-v3-simple/WebRoot/webpage/jeecg/demo/jeecgDemo/jeecgDemoList.jsp
|