//dateTimeRange过滤扩展
$.extend($.fn.datagrid.defaults.filters, {
dateRange: {
/*onInit: function(target){
var name = getPluginName(target);
alert('ss');
$(target).find('.d1,.d2').datebox.unbind('change').bind('change', function(e){
$(target)[name]('removeFilterRule', field);
$(target)[name]('doFilter');
});
},*/
init: function(container, options){
var c = $('<div style="display:inline-block"><input class="d1"><input class="d2"></div>').appendTo(container);
c.find('.d1,.d2').datebox();
c.find('.d1,.d2').datebox().unbind('change');
c.find('.d1').datebox({
onSelect:function(date){
var d1 = c.find('.d1');
var d2 = c.find('.d2'); var valueFrom = d1.datebox('getValue');
var valueTo = d2.datebox('getValue');
if($.trim(valueFrom)!=''){
valueFrom = valueFrom+" 00:00:00";
$('#dataGrid').datagrid('addFilterRule', {
field: 'lastSendTimeFrom',
op: 'greaterorequal',
value: valueFrom
});
} if($.trim(valueTo)!=''){
valueTo = valueTo+" 23:59:59";
$('#dataGrid').datagrid('addFilterRule', {
field: 'lastSendTimeTo',
op: 'lessorequal',
value: valueTo
});
} $('#dataGrid').datagrid('doFilter'); d1.datebox('setText',date.getFullYear()+'-'+ (date.getMonth()+1) +'-'+date.getDate());
d1.datebox('hidePanel');
}
}); c.find('.d2').datebox({
onSelect:function(date){
var d1 = c.find('.d1');
var d2 = c.find('.d2'); var valueFrom = d1.datebox('getValue');
var valueTo = d2.datebox('getValue');
if($.trim(valueFrom)!=''){
valueFrom = valueFrom+" 00:00:00";
$('#dataGrid').datagrid('addFilterRule', {
field: 'lastSendTimeFrom',
op: 'equal',
value: valueFrom
});
} if($.trim(valueTo)!=''){
valueTo = valueTo+" 23:59:59";
$('#dataGrid').datagrid('addFilterRule', {
field: 'lastSendTimeTo',
op: 'equal',
value: valueTo
});
} $('#dataGrid').datagrid('doFilter'); d2.datebox('setText',date.getFullYear()+'-'+ (date.getMonth()+1) +'-'+date.getDate());
d2.datebox('hidePanel');
}
}); return c;
},
destroy: function(target){
$(target).find('.d1,.d2').datebox('destroy');
},
getValue: function(target){
var d1 = $(target).find('.d1');
var d2 = $(target).find('.d2');
return d1.datebox('getValue') + ':'+d2.datebox('getValue');
},
setValue: function(target, value){
var d1 = $(target).find('.d1');
var d2 = $(target).find('.d2');
var vv = value.split(':');
d1.datebox('setValue', vv[0]);
d2.datebox('setValue', vv[1]);
},
resize: function(target, width){
$(target)._outerWidth(width)._outerHeight(22);
$(target).find('.d1,.d2').datebox('resize', width/2);
}
}
});

使用:

 $('#dataGrid').datagrid('enableFilter' , [{
field:'lastSendTime',
type:'dateRange'
} ]);

效果截图:

EasyUI datagrid 过滤事件段的更多相关文章

  1. easyui datagrid 悬浮事件

    easyui的单元格提示窗体  鼠标悬浮事件 function findAllPreven() { var infoname = $('#area').val(); areadatagrid=$('# ...

  2. JQuery easyui Datagrid 分页事件

    easyui是Jquery中的一个轻量级UI插件,提供了一些诸如window.datagrid.button等控件.现在主要说说Datagrid中分页控件的使用. easyui中可以单独添加分页pag ...

  3. EasyUI DataGrid组织事件冒泡

    在事件内部需要阻止的地方添加如下代码 ]; 解释: arguments.callee是获得我自定义的事件处理方法OnSelected的方法体. .caller是获得调用OnSelected的上层方法( ...

  4. 扩充 jQuery EasyUI Datagrid 数据行鼠标悬停/离开事件(onMouseOver/onMouseOut)

    客户需求: jQuery EasyUI Datagrid 用户列表鼠标悬停/离开数据行时显示人员头像(onMouseOver/onMouseOut) 如图所示,Datagrid 鼠标悬停/离开数据行时 ...

  5. 扩展 jQuery EasyUI Datagrid 数据行鼠标悬停/离开事件(onMouseOver/onMouseOut)

    客户需求: jQuery EasyUI Datagrid 用户列表鼠标悬停/离开数据行时显示人员头像(onMouseOver/onMouseOut) 如图所示,Datagrid 鼠标悬停/离开数据行时 ...

  6. EasyUi datagrid 单选框选中事件

    Easyui datagrid中的单选框默认是这样定义的 columns: [[ { field: 'CK', title: '', checkbox: true, width: 30 }]]. 平常 ...

  7. Easyui DataGrid DateRange Filter 漂亮实用的日期区间段筛选功能

    自定义扩展Jquery easyui datagrid filter组件实现对日期类型区间段的筛选功能.显示效果如一下 是不是非常实用 引用的jquery 组件是 Date Range Picker ...

  8. EasyUI datagrid 明细表格中编辑框 事件绑定 及灵活计算 可根据此思路 扩展其他

    原创 : EasyUI datagrid 明细表格中编辑框 事件绑定 及灵活计算 可根据此思路 扩展其他 转载,请注明出处哦!谢谢! 原创 : EasyUI datagrid 明细表格中编辑框 事件绑 ...

  9. EasyUI中datagrid双击事件

    EasyUI中datagrid双击事件 在jsp文件底部增加代码: <script type="text/javascript"> //数据表双击事件 $('#tabl ...

随机推荐

  1. read 系统调用剖析【转】

    转自:https://www.ibm.com/developerworks/cn/linux/l-cn-read/ 大部分程序员可能会有这样的疑问:当在程序中调用库函数 read 时,这个请求是经过哪 ...

  2. MySQL学习——基础

    本文是MySQL的基础知识. Linux启动MySQL服务命令 : service mysql start Linux关闭MySQL服务命令 : service mysql stop 登录MySQL命 ...

  3. 中国大陆无法访问Steve Purcell的emacs配置解决办法

    因为大陆网络问题,没办法访问Steve Purcell的emacs配置中的melpa.org,所以我们更改目录即可. 1.删除自己的配置. $ rm ~/.emacs $ rm -rf ~/.emac ...

  4. redis介绍与配置

    redis 是什么 我们都知道 mysql.oracle 是关系型数据库,它们的特点就是像一个 Excel 表格一样,而且都是用 SQL 语句.但是你可能看到一种东西叫NoSQL.NoSQL 泛指非关 ...

  5. Ubuntu16.10 +python3.5+Tensorflow 1.1

    1.python版本检查 因为Ubuntu16.10已经默认安装了python2.7 和 3.5,检查python版本, 如果为python2.7,那么就需要我们设置python3.5为默认版本. 查 ...

  6. 给出一个string字符串,统计里面出现的字符个数

    给出一个string字符串,统计里面出现的字符个数 解决方案: 使用algorithm里面的count函数,使用方法是count(begin,end,'c'),其中begin指的是起始地址,end指的 ...

  7. UVALive 3027 Corporative Network (带权并查集)

    题意: 有 n 个节点,初始时每个节点的父节点都不存在,你的任务是执行一次 I 操作 和 E 操作,含义如下: I  u  v   :  把节点 u  的父节点设为 v  ,距离为| u - v | ...

  8. Sort Transformed Array -- LeetCode

    Given a sorted array of integers nums and integer values a, b and c. Apply a function of the form f( ...

  9. 十. 图形界面(GUI)设计4.面板

    面板有两种,一种是普通面板(JPanel),另一种是滚动面板(JScrollPane). JPanel 面板是一种通用容器,JPanel的作用是实现界面的层次结构,在它上面放入一些组件,也可以在上面绘 ...

  10. 提高MSSQL数据库性能(1)对比count(*) 和 替代count(*)

    原文:提高MSSQL数据库性能(1)对比count(*) 和 替代count(*) 文章准备的数据库: Atricles 表   数据量60690000条数据 ArticleID 主键自增列+自动建立 ...