使用jeecg框架开发的小伙伴们知道,添加查询条件,通常是我们加一个配置(query="true")就可以将该字段设置为查询条件。简单方便。但是这样的配置查询条件仅适用于输入框输入查询和下拉框查询(如果你配置的该字段使用了replace)。显然,这样的查询条件根本满足不了我们的需求,最常见的就是时间段查询,以及时间段与其他字段混合查询的情况,下面简单说一下解决方法。

  自定义查询条件,

第一步:将字段中所有配置的query="true",改为query="false",即告诉框架我不需要你给我生成查询条件

第二步:在<t:datagrid></t:datagrid>下方加上一个div,此div就是放置查询条件的,并在div里配置你需要的查询条件。

<div  style="padding: 3px; height: 70px">

    <div name="searchColums" style="float: left; padding-left: 15px;">
<span>
<span style="vertical-align:middle;display:-moz-inline-box;display:inline-block;width: 80px;text-align:right;" title="订单号 ">订单号: </span>
<input type="text" name="orderNo" style="width: 100px; height: 24px;"> <span style="vertical-align:middle;display:-moz-inline-box;display:inline-block;width: 80px;text-align:right;" title="客户姓名">客户姓名: </span>
<input type="text" name="clientId.name" style="width: 100px; height: 24px;"> <span style="vertical-align:middle;display:-moz-inline-box;display:inline-block;width: 80px;text-align:right;" title="车牌号">车牌号: </span>
<input type="text" name="licensePlateNumber" style="width: 100px; height: 24px;"> <span style="vertical-align:middle;display:-moz-inline-box;display:inline-block;width: 80px;text-align:right;" title="扣费状态">扣费状态: </span>
<select name="state" style="width: 80px">
<option value="">请选择</option>
<option value="1">扣费成功</option>
<option value="0">扣费失败</option>
</select>
<br/>
<br/>
<span style="vertical-align:middle;display:-moz-inline-box;display:inline-block;width: 90px;text-align:right;" title="出场时间 ">出场时间: </span>
<input type="text" name="outtime_begin" style="width: 100px; height: 24px;">~
<input type="text" name="outtime_end" style="width: 100px; height: 24px; margin-right: 20px;">
</span>
<a href="#" class="easyui-linkbutton" iconCls="icon-search" onclick="deductionListsearch();" style="text-align: right;width: 670px">查询</a>
<a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-putout" onclick="exportExcel();">导出excel</a>
</div>
</div>

第三步:参考上面的代码,有几个地方需要注意。

  1. 标红的是你需要设置的查询字段名称,该名称和你<t:datagrid></t:datagrid>中的<t:dgCol>中的field字段名称对应
  2. 标蓝的是时间段的配置,这里你只需要放上两个input输入框,然后在js代码里添加如下代码:
     $(document).ready(function(){
    $("input[name='outtime_begin']").attr("class","Wdate").attr("style","height:20px;width:90px;").click(function(){WdatePicker({dateFmt:'yyyy-MM-dd'});});
    $("input[name='outtime_end']").attr("class","Wdate").attr("style","height:20px;width:90px;").click(function(){WdatePicker({dateFmt:'yyyy-MM-dd'});}); });
  3. 标粉的这个方法一定要注意,需要我们自己写吗?当然no,但是起名的时候一定要注意是你<t:datagrid></t:datagrid>的name加search()生成。
  4. <t:datagrid name="testList" >例如我现在起的名字是testList,那么该方法名就是testListsearch();之所以是这样,是因为框架封装的查询规则。

第四部:这样自定义查询条件前台已经完成了。后台如果是普通配置的查询条件,就使用CriteriaQuery.add()方法就行,所有参数都可以通过request获取到,当然你也没必要这样做。

下面附上一张效果图:

jeecg 扩展封装查询条件 时间段查询的更多相关文章

  1. 指定查询条件,查询对应的集合List(单表)

    TestDao.java(测试类) @Test public void findCollectionByConditionNoPage(){  ApplicationContext ac = new ...

  2. bootstrap-table前端实现多条件时间段查询数据

    实现思路:通过正则匹配到字段是否符合条件,时间段转换为时间戳比对. 这是大体的效果图: 页面的html代码 <div class="content-head mgb10"&g ...

  3. jeecg扩展封装tag的那些事

    版权声明:本文为楼主原创文章,未经楼主允许不得转载,如要转载请注明来源. 目前公司开发一直使用的是jeecg框架,简单好用,但有时候不如自己写的随心所欲.最近项目遇到一个需求, 想封装配置加解密,本来 ...

  4. SolrJ查询条件组合查询实现——(十六)

    带查询条件的实现原理: 查询按钮被包在一个大表单,表单还有三个隐藏域,一个商品筛选,一个 价格,一个排序,每次点击查询时候清空三个隐藏域,就带着一个大条件去查询;点击下面的筛选条件时,给隐藏域的筛选条 ...

  5. 3. 如何封装查询条件与查询结果到map中

    public Map<String, Object> queryOrderStatus(String orderNo) { // 查询到的结果与查询的条件一一对应,封装到map中! Str ...

  6. MySQL、mybatis的查询条件-时间段

    1.配置文件中的写法 <if test="startTime !=null and startTime !='' "> <![CDATA[ and createT ...

  7. Spring data jpa 条件查询-按时间段查询

    项目开发中的代码片段,仅供参考 @Override public Page<泛型> findRecordList(int couponDetailId, int pageNum, int ...

  8. 【mysql】 mybatis实现 主从表 left join 1:n 一对多 分页查询 主表从表都有查询条件 【mybatis】count 统计+JSON查询

    mybatis实现 主从表 left join  1:n 一对多 分页查询   主表从表都有查询条件+count 需求: ======================================= ...

  9. JPA实现复杂条件分页查询

    相信熟悉Hibernate的人对于ORM给编程带来的便利于快捷一定不陌生,相对于MyBatis等需要编写复杂的SQL语句,ORM映射为我们带来的便利显而易见.但是,在获得便利的同时,失去的便是灵活性, ...

随机推荐

  1. equals()和hashCode()隐式调用时的约定

    package com.hash; import java.util.HashMap; public class Apple { private String color; public Apple( ...

  2. linux部署不同版本mysql

    测试环境部署过程中经常会遇到同一个服务器上部署两个不同版本的mysql数据库,在部署过程中也会有各种各样的问题,现将部署多版本mysql的方法总结如下: 1.下载mysql版本 http://down ...

  3. 拓展Yii Framework(易框架)

    1.拓展yii 此文针对Yii1.1.15而写,请注意甄别你的Yii Framework 版本. 拓展yii是开发期间常见的代码处理方式.例如,你写一个新的controller(业务控制器),你通过继 ...

  4. Java单例模式(转载)

    原文地址:1:http://www.cnblogs.com/hupp/p/4487521; 2:http://cantellow.javaeye.com/blog/838473 先罗列五种单例模式的实 ...

  5. JavaScript 的循环语句语法摘要

     if条件语句语法: if(condition){ statements; } 理解:圆括号里的是条件参数  ,花括号里的为执行的语句. 示例代码:if(1>2){ alert("Th ...

  6. [原创]C++通用宏定义

    //单态模式(singletion) #defube DECLEAR_SINGLETION(ClassName) \ private: \ static ClassName* m_pInstance; ...

  7. c#事件机制

    namespace test { class Publisher//出版社 { public delegate void PubComputer(string magazineName);//声明事件 ...

  8. GridView_RowCommand事件中取得GridViewRow

    GridViewRow row = ((Control)e.CommandSource).BindingContainer as GridViewRow;

  9. C# 隐式类型转换

    implicit(C# 参考) implicit 关键字用于声明隐式的用户定义类型转换运算符.如果可以确保转换过程不会造成数据丢失,则可使用该关键字在用户定义类型和其他类型之间进行隐式转换. clas ...

  10. rabbitmq 重复ACK导致消息丢失

    rabbitmq 重复确认导致消息丢失 背景 rabbitmq 在应用场景中,大多采用工作队列 work-queue的模式. 在一个常见的工作队列模式中,消费者 worker 将不断的轮询从队列中拉取 ...