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         ]);

    效果截图:

  • 相关阅读:
    sqlserver内存释放
    Windows任务管理器中内存使用、虚拟内存区别及与页面文件的关系
    GetMessage
    String.Format(string, arg0)中sring格式
    C#基础--之数据类型
    C# Socket
    C# 对象 序列化 XML
    C# Monitoring-network
    Nginx 网址
    WinSCP 连接 Ubuntu 拒绝的问题
  • 原文地址:https://www.cnblogs.com/flying607/p/4496747.html
Copyright © 2011-2022 走看看