效果如图,亲测6.2.1版本可用

 /**
*支持快速选择日期的日期控件
*/
Ext.define('ux.form.field.GridDate', {
extend: 'Ext.form.field.Date',
alias: 'widget.gridDateField',
requires: ['ux.picker.GridDate'],
pickerGrid: {
store: {
//默认配置
data: [{
value: 30,
text: '一个月后'
},
{
value: 90,
text: '三个月后'
},
{
value: 180,
text: '六个月后'
},
{
value: 365,
text: '一年后'
},
{
value: 365 * 2,
text: '两年后后'
},
{
value: 365 * 3,
text: '三年后'
}]
}
},
//创建弹窗
createPicker: function () {
var me = this,
format = Ext.String.format;
return new ux.picker.GridDate({
floating: true,
hidden: true,
pickerField: me,
pickerGrid: me.pickerGrid,
pickerDate: {
pickerField: me,
focusable: false,
// Key events are listened from the input field which is never blurred
preventRefocus: true,
minDate: me.minValue,
maxDate: me.maxValue,
disabledDatesRE: me.disabledDatesRE,
disabledDatesText: me.disabledDatesText,
ariaDisabledDatesText: me.ariaDisabledDatesText,
disabledDays: me.disabledDays,
disabledDaysText: me.disabledDaysText,
ariaDisabledDaysText: me.ariaDisabledDaysText,
format: me.format,
showToday: me.showToday,
startDay: me.startDay,
minText: format(me.minText, me.formatDate(me.minValue)),
ariaMinText: format(me.ariaMinText, me.formatDate(me.minValue, me.ariaFormat)),
maxText: format(me.maxText, me.formatDate(me.maxValue)),
ariaMaxText: format(me.ariaMaxText, me.formatDate(me.maxValue, me.ariaFormat)),
listeners: {
scope: me,
select: me.onSelect,
tabout: me.onTabOut
},
keyNavConfig: {
esc: function () {
me.inputEl.focus();
me.collapse();
}
}
}
});
}
});
 /**
* 支持快速选择日期的日期控件
*/
Ext.define('ux.picker.GridDate', {
extend: 'Ext.container.Container',
alias: 'widget.gridDatePicker',
requires: ['Ext.picker.Date', 'Ext.form.field.ComboBox'],
layout: 'hbox',
config: {
pickerDate: { },
pickerGrid: {
width: 120,
height:'100%',
title: '快速选择',
hideHeaders: true,
columns: [{
flex:1,
dataIndex: 'text'
}]
}
},
//初始化
initComponent: function () {
var me = this;
me.callParent(arguments);
me.add([me.getPickerGrid(), me.getPickerDate()]);
},
//创建时间控件
applyPickerDate: function (config) {
return Ext.factory(config, 'Ext.picker.Date', this.getPickerDate());
},
//创建下拉框
applyPickerGrid: function (config) {
return Ext.factory(config, 'Ext.grid.Panel', this.getPickerGrid());
},
//更新下拉框
updatePickerGrid: function (item) {
if (item) {
item.on({
itemclick: 'onItemclick',
scope: this
});
}
},
//快速选择
onItemclick: function (t, rec) {
//设置值
this.pickerField.setValue(new Date(Date.now() + 1000 * 60 * 60 * 24 * rec.get('value')));
//隐藏弹出层
this.pickerField.collapse();
},
//设置禁止时间
setDisabledDates: function (value) {
this.getPickerDate().setDisabledDates(value);
},
//设置禁止日期
setDisabledDays: function (value) {
this.getPickerDate().setDisabledDays(value);
},
//设置最小值
setMinValue: function (value) {
this.getPickerDate().setMinDate(value);
},
//设置最大值
setMaxValue: function (value) {
this.getPickerDate().setMaxDate(value);
},
//设置值
setValue:function (value) {
this.getPickerDate().setValue(value);
}
});

ux.form.field.GridDate 支持快速选择日期的日期控件的更多相关文章

  1. ux.form.field.SearchField 列表、树形菜单查询扩展

    //支持bind绑定store //列表搜索扩展,支持本地查询 //支持树形菜单本地一级菜单查询 Ext.define('ux.form.field.SearchField', { extend: ' ...

  2. ux.form.field.Password 密码与非密码状态切换

    效果如图: 扩展源码: //扩展 //密码按钮扩展 //支持在密码与非密码之间切换 Ext.define('ux.form.field.Password', { extend: 'Ext.form.f ...

  3. ux.form.field.KindEditor 所见所得编辑器

    注意需要引入KindEditor相关资源 //所见所得编辑器 Ext.define('ux.form.field.KindEditor', { extend: 'Ext.form.field.Text ...

  4. ux.form.field.Verify 验证码控件

    //验证码控件 Ext.define('ux.form.field.Verify', { extend: 'Ext.container.Container', alias: ['widget.fiel ...

  5. ux.form.field.TreePicker 扩展,修复火狐不能展开bug

    /** * A Picker field that contains a tree panel on its popup, enabling selection of tree nodes. * 动态 ...

  6. ux.form.field.Year 只能选年的时间扩展

    效果如图,亲测6.2.1版本可用,用法同时间选择控件 //只选择年的控件 Ext.define('ux.picker.Year', { extend: 'Ext.Component', alias: ...

  7. ux.form.field.Month 只能选年、月的时间扩展

    效果如图,亲测6.2.1版本可用,用法同时间选择控件 //月弹窗扩展 //只选月 Ext.define('ux.picker.Month', { extend: 'Ext.picker.Month', ...

  8. CYQ.Data 支持WPF相关的数据控件绑定(2013-08-09)

    事件的结果 经过多天的思考及忙碌的开发及测试,CYQ.Data 终于在UI上全面支持WPF,至此,CYQ.Data 已经可以方便支持wpf的开发,同时,框架仍保留最低.net framework2.0 ...

  9. VB6.0中,DTPicker日期、时间控件不允许为空时,采用文本框与日期、时间控件相互替换赋值(解决方案)

    VB6.0中,日期.时间控件不允许为空时,采用文本框与日期.时间控件相互替换赋值,或许是一个不错的选择. 实现效果如下图: 文本框txtStopTime1 时间框DTStopTime1(DTPicke ...

随机推荐

  1. RAID各种级别详细介绍

    独立硬盘冗余阵列(RAID, Redundant Array of Independent Disks),旧称廉价磁盘冗余阵列(RAID, Redundant Array of Inexpensive ...

  2. bootstrap学习总结

    bootstrap网站下载: 谷歌浏览器访问:http://github.com/twbs/bootstrap/    右上角(clone or download) 编译版bootstrap:http ...

  3. JSP显示页面和数据库乱码

    页面 和 数据库编码都是UTF-8,但就是奇怪. 指定Tomcat的编码为UTF-8 就行了

  4. Cenos7 部署asp.net core站点

    系统版本 rpm -q centos-release --- centos-release--5.1804.el7.centos.x86_64 安装libicu yum install libunwi ...

  5. 每天一个linux命令(10):cat

    1.命令简介 cat (concatenate,连接)命令将[文件]或标准输入组合输出到标准输出,如果没有指定文件,或者文件为"-",则从标准输入读取. 2.用法 cat [选项] ...

  6. 20.1翻译系列:EF 6中自动数据迁移技术【EF 6 Code-First系列】

    原文链接:https://www.entityframeworktutorial.net/code-first/automated-migration-in-code-first.aspx EF 6 ...

  7. Jenkins自动部署增加http状态码校验

    公司推进Jenkins自动化部署,因为web站点都是集群部署,部署需要测试指定服务器web服务是否成功启动,页面是否正常访问,经过不断baidu发现,python的request模块可以很好的解决这一 ...

  8. 使用xshell+xmanager+pycharm搭建pytorch远程调试开发环境

    1. 相关软件版本 xshell: xmanager: pycharm: pycharm破解服务器:https://jetlicense.nss.im/ 2. 将相应的软件安装(pojie好) a&g ...

  9. SSM 整合 quartz JDBC方式实现job动态增删改查记录

    虽然网上有很多资料,但是都不够系统,本文记录下自己的整合过程. 1. 搭建一个SSM项目,此处略. 2. 按照quartz官方要求,建立quartz相关的数据库和表,相关sql语句如下: /* Nav ...

  10. Atitit 烈火计划进展报告 r61

    Atitit 烈火计划进展报告 r61 1. 烈火计划主要包括几个东西 1 1.1. 2014.12 邮箱编码读取 1 1.2. 2017.1  垂直领域图片下载器  草料图片下载器 1 1.3. q ...