jeecg 扩展封装查询条件 时间段查询

  使用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获取到,当然你也没必要这样做。

下面附上一张效果图:

时间: 2024-10-25 15:40:48

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

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

TestDao.java(测试类) @Test public void findCollectionByConditionNoPage(){  ApplicationContext ac = new ClassPathXmlApplicationContext("beans.xml");  IElecTextService elecTextService = (IElecTextService) ac.getBean(IElecTextService.SERVICE_NAME);   

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

DAO 功能:接收service层传递过来的参数,根据参数查询索引库,返回查询结果. 返回值:一个商品列表List<ProductModel>. package cn.qlq.jd.dao; import java.util.ArrayList; import java.util.List; import java.util.Map; import org.apache.solr.client.solrj.SolrQuery; import org.apache.solr.client.sol

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

1.配置文件中的写法 <if test="startTime !=null and startTime !='' "> <![CDATA[ and createTime >= #{startTime} ]]> </if> <if test="endTime !=null and endTime!='' " > <![CDATA[ and createTime <= #{endTime} ]]>

框架 day50 BOS项目 4 批量导入(ocupload插件,pinyin4J)/POI解析Excel/Combobox下拉框/分区组合条件分页查询(ajax)/分区数据导出(Excel)

知识点: 批量导入(ocupload插件,pinyin4J /POI解析Excel(apache POI) /区域分页查询 /Combobox下拉框 /分区组合条件分页查询(ajax) /分区数据导出(Excel下载) BOS项目笔记第4天 1.    区域批量导入功能 *Ajax不支持文件上传. *上传并且不刷新上传页面原理: Target到一个0,0,0的隐藏iframe里,造成一个没有刷新的假象 <form target="myIframe" action="ab

thinkphp-where-数组条件-普通查询

语法 Db::table(表名)->where(条件)->select(); 示例 $map['name'] = 'thinkphp'; $map['status'] = 1; // 把查询条件传入查询方法 Db::table('think_user')->where($map)->select(); 对应原始sql SELECT * FROM think_user WHERE `name`='thinkphp' AND status=1

Thinkphp 查询条件 and 和 or同时使用即复合查询

        thinkphp 3.2快捷查询OR查询&分割表示AND查询讲解         快捷查询方式是一种多字段查询的简化写法,可以进一步简化查询条件的写法,在多个字段之间用|分割表示OR查询,用&分割表示AND查询,可以实现下面的查询,例如:         一.不同字段相同的查询条件 $User = M("User"); // 实例化User对象             $map['name|title'] = 'thinkphp';           

ThinkPHP可以支持直接使用字符串作为查询条件

ThinkPHP可以支持直接使用字符串作为查询条件,但是大多数情况推荐使用数组或者对象来作为查询条件,因为会更加安全. 大理石平台哪家好 一.使用字符串作为查询条件 这是最传统的方式,但是安全性不高,例如: $User = M("User"); // 实例化User对象 $User->where('type=1 AND status=1')->select(); 最后生成的SQL语句是 SELECT * FROM think_user WHERE type=1 AND st

hibernate查询方式和查询策略

1.Hibernate框架的查询方式    1) 唯一标识OID的检索方式        * session.get(对象.class,OID)    2) 对象的导航的方式        3) HQL的检索方式        * Hibernate Query Language    -- Hibernate的查询语言        4) QBC的检索方式        * Query By Criteria    -- 条件查询        5) SQL检索方式(了解)        *

Jeecg 查询条件拼装-代码解读

许久没有闲下来了,今天不想再写代码了,说说查询条件组装的,虽然基本上是自己写的,但是能写出来不一定可以说出来 ,算是为过两天的讲课做做准备吧. 这个是基于CriteriaQuery 的,而CriteriaQuery又是基于DetachedCriteria这个大家自己看了 写这个的时候,想了挺久,就是想找可以可以扩展的查询拼装,后来定义了这个接口             为每种类型做不同的实现,这个可以为以后类型扩充做准备 判断类型就是依据字段的类型,然后选择类型进行调用,现在实现了 基本上都是基