0
点赞
收藏
分享

微信扫一扫

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



效果截图:

EasyUI datagrid 过滤时间段_时间段



举报

相关推荐

0 条评论