zoukankan      html  css  js  c++  java
  • EasyUI datagrid 过滤时间段

      1 //dateTimeRange过滤扩展
      2 $.extend($.fn.datagrid.defaults.filters, {
      3     dateRange: {
      4         /*onInit: function(target){
      5             var name = getPluginName(target);
      6             alert('ss');
      7             $(target).find('.d1,.d2').datebox.unbind('change').bind('change', function(e){
      8                 $(target)[name]('removeFilterRule', field);
      9                 $(target)[name]('doFilter');
     10             });
     11         },*/
     12          init: function(container, options){
     13              var c = $('<div style="display:inline-block"><input class="d1"><input class="d2"></div>').appendTo(container);
     14              c.find('.d1,.d2').datebox();
     15              c.find('.d1,.d2').datebox().unbind('change');
     16              c.find('.d1').datebox({
     17                  onSelect:function(date){
     18                          var d1 = c.find('.d1');
     19                          var d2 = c.find('.d2');
     20                          
     21                          
     22                          var valueFrom = d1.datebox('getValue');
     23                          var valueTo = d2.datebox('getValue');
     24                          if($.trim(valueFrom)!=''){
     25                              valueFrom = valueFrom+" 00:00:00";
     26                              $('#dataGrid').datagrid('addFilterRule', {
     27                                 field: 'lastSendTimeFrom',
     28                                 op: 'greaterorequal',
     29                                 value: valueFrom 
     30                                 });
     31                          }
     32                         
     33                          if($.trim(valueTo)!=''){
     34                              valueTo = valueTo+" 23:59:59";
     35                              $('#dataGrid').datagrid('addFilterRule', {
     36                                 field: 'lastSendTimeTo',
     37                                 op: 'lessorequal',
     38                                 value: valueTo 
     39                                 });
     40                          }
     41                         
     42                         $('#dataGrid').datagrid('doFilter');
     43 
     44                          d1.datebox('setText',date.getFullYear()+'-'+ (date.getMonth()+1) +'-'+date.getDate());
     45                          d1.datebox('hidePanel');
     46                 } 
     47              });
     48              
     49              c.find('.d2').datebox({
     50                  onSelect:function(date){
     51                          var d1 = c.find('.d1');
     52                          var d2 = c.find('.d2');
     53                          
     54                          
     55                          var valueFrom = d1.datebox('getValue');
     56                          var valueTo = d2.datebox('getValue');
     57                          if($.trim(valueFrom)!=''){
     58                              valueFrom = valueFrom+" 00:00:00";
     59                              $('#dataGrid').datagrid('addFilterRule', {
     60                                 field: 'lastSendTimeFrom',
     61                                 op: 'equal',
     62                                 value: valueFrom 
     63                                 });
     64                          }
     65                         
     66                          if($.trim(valueTo)!=''){
     67                              valueTo = valueTo+" 23:59:59";
     68                              $('#dataGrid').datagrid('addFilterRule', {
     69                                 field: 'lastSendTimeTo',
     70                                 op: 'equal',
     71                                 value: valueTo 
     72                                 });
     73                          }
     74                         
     75                         
     76                         $('#dataGrid').datagrid('doFilter');
     77 
     78                          d2.datebox('setText',date.getFullYear()+'-'+ (date.getMonth()+1) +'-'+date.getDate());
     79                          d2.datebox('hidePanel');
     80                 } 
     81              });
     82              
     83              return c;
     84          },
     85          destroy: function(target){
     86              $(target).find('.d1,.d2').datebox('destroy');
     87          },
     88          getValue: function(target){
     89              var d1 = $(target).find('.d1');
     90              var d2 = $(target).find('.d2');
     91              return d1.datebox('getValue') + ':'+d2.datebox('getValue');
     92          },
     93          setValue: function(target, value){
     94              var d1 = $(target).find('.d1');
     95              var d2 = $(target).find('.d2');
     96              var vv = value.split(':');
     97              d1.datebox('setValue', vv[0]);
     98              d2.datebox('setValue', vv[1]);
     99          },
    100          resize: function(target, width){
    101              $(target)._outerWidth(width)._outerHeight(22);
    102              $(target).find('.d1,.d2').datebox('resize', width/2);
    103          }
    104      }
    105  });

    使用:

    1 $('#dataGrid').datagrid('enableFilter' , [{
    2                     field:'lastSendTime',
    3                     type:'dateRange'
    4                 }
    5                 
    6         ]);

    效果截图:

  • 相关阅读:
    C# 使用SqlBulkCopy类批量复制大数据 快速导入Excel大量数据
    Git的安装与使用
    未能加载文件或程序集“Microsoft.VisualStudio.Web.PageInspector.Loader, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”或它的某一个依赖项。
    Android SDK Manager不能显示所有包的解决办法
    editor多功能文本框在有些计算机上不能正常加载,解决方法,本人用的是把js调用方法放到<body></body>后面)
    MVC URL参数传递+变为空格解决方法
    SQL 查询不重复数据
    Java基本数据类型取值范围
    统计数组中的逆数对个数
    Docker 安装 ElasticSearch
  • 原文地址:https://www.cnblogs.com/flying607/p/4496747.html
Copyright © 2011-2022 走看看