当前位置: 首页 > 编程笔记 >

JQueryMiniUI按照时间进行查询的实现方法

萧渝
2023-03-14
本文向大家介绍JQueryMiniUI按照时间进行查询的实现方法,包括了JQueryMiniUI按照时间进行查询的实现方法的使用技巧和注意事项,需要的朋友参考一下

考核的事情已经变成了上一年了,当时要做一个图书管理系统,但是当时因为在按照时间进行搜索的时候,无法将前台的数据传递到后台,所以失去了一部分,现在重看,其实也不过尔尔,反而然我有一种只是当时枉然的意味。好了,那么如何将前台的时间数据传递到后台,其实如果是普通的传递倒也是无所谓的,因为有特殊的功能是在搜索的时候实现

所以要在加载页面的时候传递数据,jQuery-MINI UI如何实现:

其实我们要要做的事情是将数据显示到表格中,那么我们就要看一开始是如何实现的:

前台千篇一律如此:

<div id="datagrid1" class="mini-datagrid" style="width: 1000px; height: 280px;"  
    url="../index?method=listAll" idField="id" multiSelect="true" sizeList="[5,10,15]" pageSize="10" 
    > 
    <div property="columns"> 
      <div type="checkcolumn"></div> 
      <div type="indexcolumn">序号</div> 
      <div field="bookGuid" width="60" headerAlign="center" allowSort="true">图书编号</div> 
      <div field="bookName" width="60" headerAlign="center" allowSort="true">图书名称</div> 
      <div field="bookType" class="mini-combobox" width="60" renderer="onTypeRenderer">图书类别</div> 
      <div field="suitable" width="60" renderer="onSuitRenderer">适合人群</div> 
      <div field="buyDate" width="150" headerAlign="center" dateFormat="yyyy-MM-dd HH:mm:ss" allowSort="true">入库日期</div> 
      <div field="count" width="60" style="color:red">借阅次数</div> 
      <div field="remark" width="60" style="color:red">备注</div> 
      <div name="action" width="120" headerAlign="center" align="center" renderer="onActionRenderer" cellStyle="padding:0;">操作</div> 
    </div> 
  </div> 

上面是我们的表格显示的内容,mini-ui在页面进行加载的时候就会初始化表格所以说在div中我们有一个url属性,也就是告诉我们数据的来源

url="../index?method=listAll" 

在页面进行加载的时候回调用listAll这个方法,我们进行搜索的时候也会去调用这个方法,但是我们会传递数据到后台

那么在js重我们该如何编写,首先我们来看看不需要传递数据到到后台,怎样来加载这个表格

var grid = mini.get("datagrid1"); 
    grid.load(); 

那么我们在点击搜索的时候,是不是要进行传递数据到后台:

function search() { 
      var type1 = mini.get("type1").getValue(); 
      var date1=mini.get("date1").getValue(); 
      var timestamp = Date.parse(date1); 
      grid.load({ 
        type1:type1, 
        timestmp:timestamp 
       
      }); 
    } 

按照上面我们就可以在后台的listAll中对接收到的数据进行判断,然后显示对应的数据

这个地方有一个特点时间的传递并不是按照yyyy-MM-dd这种格式,而是利用时间戳传递到后台,也就是说传递的是一个long类型是数据,我们来看一看后台是怎样进行接收的

public void listAll(HttpServletRequest request, HttpServletResponse response) throws Exception{ 
  String type=request.getParameter("type1"); 
    String lstr=request.getParameter("timestmp"); 
  long time=0; 
  if(lstr!=null && isNumeric(lstr)){ 
    time=Long.parseLong(lstr); 
  } 
  Date date1=new Date(); 
  date1.setTime(time); 
  Date date2=new Date(); 
  date2.setTime(time+24*60*60*1000); 
  SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); 
  String sql="select * from bookinfo"; 
  if(type!= null && type.length()>0 && time==0) 
  { 
    sql="select * from bookinfo where booktype="+Integer.parseInt(type); 
  } 
  else if(time!=0 && type.length()==0) 
  { 
    sql ="select * from bookinfo where buydate between \""+ sdf.format(date1) +"\" and \""+sdf.format(date2)+"\""; 
  } 
  else if(time!=0 && type.length()>0) 
  { 
    sql ="select * from bookinfo where booktype="+Integer.parseInt(type)+" and buydate between \""+ sdf.format(date1) +"\" and \""+sdf.format(date2)+"\""; 
  } 
  else 
  { 
    sql ="select * from bookinfo"; 
  } 
  System.out.println(sql); 
  //要知道的是联合查询中需要得到的List也是显示出来的 
  List list=mdao.getList(sql); 
    //实现的是分页 
    int pageSize=Integer.parseInt(request.getParameter("pageSize")); 
    int pageIndex=Integer.parseInt(request.getParameter("pageIndex")); 
    List sub_list=new ArrayList<>(); 
    int start=pageIndex*pageSize; 
    for(int i=start;i<list.size() && i<start+pageSize;i++) 
    { 
      sub_list.add(list.get(i)); 
    } 
    String json=JsonUtil.listToJson(sub_list, "yyyy-MM-dd hh:mm:ss"); 
    System.out.println(json); 
    json=JsonData.modifyJson(json); 
    json=json.replaceFirst("null", list.size()+""); 
    response.getWriter().write(json); 
 
  } 

然后在后台将时间戳转换成为一定的格式,我们就可以在数据库中户进行搜索了,还有的是sql语句中时间两边是要加上双引号的。

总之,我们利用JQuerymini-ui在进行数据时间数据传递的时候,如果仅仅传递一个时间,那么时间的格式并不是我们想要的那么满意,而且在后台我们要进行各种各样的判断,现在我们传递时间戳会减少一些判断,并且时间的格式也可以很容易的进行转换。

以上这篇JQueryMiniUI按照时间进行查询的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍laravel实现按时间日期进行分组统计方法示例,包括了laravel实现按时间日期进行分组统计方法示例的使用技巧和注意事项,需要的朋友参考一下 按日期进行分组 按月份进行分组 laravel实现各时间段数量统计、方便直接使用 因项目中用到了图表之类的信息,需要获取到很多时间的数据动态,刚开始我都是自己换算时间来计算,后来 看到手册中有更简单的方法,自己总结了一下通用的时间段统计(今

  • 本文向大家介绍php实现将字符串按照指定距离进行分割的方法,包括了php实现将字符串按照指定距离进行分割的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php实现将字符串按照指定距离进行分割的方法。分享给大家供大家参考。具体如下: 将一个字符串每隔三个字符添加一个逗号,例如把字符串1234567890转换为1,234,567,890,这种做法在金融领域非常常见 希望本文所述对大家的p

  • 本文向大家介绍浅谈mysql通配符进行模糊查询的实现方法,包括了浅谈mysql通配符进行模糊查询的实现方法的使用技巧和注意事项,需要的朋友参考一下 在mysql数据库中,当我们需要模糊查询的时候 ,我们会使用到通配符。 首先我们来了解一下2个概念,一个是操作符,一个是通配符。 操作符 like就是SQL语句中的操作符,它的作用是指示在SQL语句后面的搜索模式是利用通配符而不是直接相等匹配进行比较。

  • 我对DynamoDB非常陌生(一般没有Sql),在理解如何形成一个简单的查询时遇到了一些困难。。 我想在SQL中执行一个简单的选择,但似乎无法完成。 我的表定义基本上是: 表名snsNotiations主分区密钥接收者ID(编号) 它遵循一些属性(如readAt)。 我要执行的查询是: 我甚至可以在AWS UI上执行此查询:截图 我的lambda函数使用以下内容: 但我得到以下错误: 无法查询。错

  • 我目前使用的是mysql 我有两个名为person和zim_list_id的表,这两个表都有超过200万行

  • 本文向大家介绍mongodb中按天进行聚合查询的实例教程,包括了mongodb中按天进行聚合查询的实例教程的使用技巧和注意事项,需要的朋友参考一下 前言 最近在写项目的时候遇到一个问题,使用mongodb记录了用例的执行结果,但是在时间的记录上使用的是date格式,现在有一个需求,以天为单位,统计一下每天成功的用例和失败的用例,说到统计,肯定是要用到聚合查询,但是如果以date格式的时间为grou