Extjs中DisplayField的日期或者数字格式化扩展


Posted in Javascript onSeptember 03, 2010
使用 Ext.form.FormPanel 来处理数据时候,某些字段是需要只读的。当然我们可以使用 Ext.form.TextField,然后设置成 ReadOnly,不过这样子的显示效果不是很好,因为始终会有个输入框。所以我们必须使用 Ext.form.DisplayField,但是 Ext.form.DisplayField 没有一个format的属性,也不具备 renderer 这个事件,比如日期字段
var form = new Ext.form.FormPanel({
frame: true,
renderTo: 'form-div',
items: [{
      xtype: 'displayfield',
       fieldLabel: 'Date',
       value: new Date()
    }]
});
那它显示的就有点不正确了
Extjs中DisplayField的日期或者数字格式化扩展
 

那么我们可以重写一下 Ext.form.DisplayField,让他支持 format 属性

Ext.override(Ext.form.DisplayField, {
  getValue: function () {
    return this.value;
  },
  setValue: function (v) {
    this.value = v;
    this.setRawValue(this.formatValue(v));
    return this;
  },
  formatValue: function (v) {
    if (this.dateFormat && Ext.isDate(v)) {
      return v.dateFormat(this.dateFormat);
    }
    if (this.numberFormat && typeof v == 'number') {
      return Ext.util.Format.number(v, this.numberFormat);
    }
    return v;
  }
});
我们给 Ext.form.DisplayField 加了两个属性: dateFormat 和 numberFormat,然后我们将上面的 FormPanel 改一下

var form = new Ext.form.FormPanel({

frame: true,

renderTo: 'form-div',

items: [{

xtype: 'displayfield',

fieldLabel: 'Date',

value: new Date(),

dateFormat: 'm/d Y'

}]

});

Extjs中DisplayField的日期或者数字格式化扩展

应该还是比较 perfect 的,哈哈哈

Javascript 相关文章推荐
Google Map Api和GOOGLE Search Api整合实现代码
Jul 18 Javascript
神奇的7个jQuery 3D插件整理
Jan 06 Javascript
js/jQuery简单实现选项卡功能
Jan 02 Javascript
JavaScript输入邮箱自动提示实例代码
Jan 13 Javascript
js通过更改按钮的显示样式实现按钮的滑动效果
Apr 23 Javascript
javascript模拟post提交隐藏地址栏的参数
Sep 03 Javascript
thinkphp实现无限分类(使用递归)
Dec 19 Javascript
拥有一个属于自己的javascript表单验证插件
Mar 24 Javascript
JS解决position:sticky的兼容性问题的方法
Oct 17 Javascript
浅谈vue-props的default写不写有什么区别
Aug 09 Javascript
vue项目两种方式实现竖向表格的思路分析
Apr 28 Vue.js
使用compose函数优化代码提高可读性及扩展性
Jun 16 Javascript
JavaScript的类型简单说明
Sep 03 #Javascript
JavaScript类和继承 this属性使用说明
Sep 03 #Javascript
JavaScript类和继承 prototype属性
Sep 03 #Javascript
用Javascript实现Sleep暂停功能代码
Sep 03 #Javascript
javascript 仿QQ滑动菜单效果代码
Sep 03 #Javascript
原生javascript实现图片轮播效果代码
Sep 03 #Javascript
IE6不能修改NAME问题的解决方法
Sep 03 #Javascript
You might like
使用php4加速网络传输
2006/10/09 PHP
PHP开发中常用的三个表单验证函数使用小结
2010/03/03 PHP
分享一下贝贝成长进度的php代码
2012/09/14 PHP
php中出现空白页的原因及解决方法汇总
2014/07/08 PHP
PHP 5.6.11 访问SQL Server2008R2的几种情况详解
2016/08/08 PHP
Cookie 注入是怎样产生的
2009/04/08 Javascript
使用基于jquery的gamequery插件做JS乒乓球游戏
2011/07/31 Javascript
jQuery Tools tab(幻灯片)
2012/07/14 Javascript
js实现从中间开始往上下展开网页窗口的方法
2015/03/02 Javascript
JavaScript、tab切换完整版(自动切换、鼠标移入停止、移开运行)
2016/01/05 Javascript
JavaScript jquery及AJAX小结
2016/01/24 Javascript
js中数组的常用方法小结
2016/12/30 Javascript
javascript阻止事件冒泡和浏览器的默认行为
2017/01/21 Javascript
jQuery设置图片等比例缩小的方法
2017/04/29 jQuery
又拍云 Node.js 实现文件上传、删除功能
2018/10/28 Javascript
vue多页面项目中路由使用history模式的方法
2019/09/23 Javascript
关于layui时间回显问题的解决方法
2019/09/24 Javascript
js实现拖动缓动效果
2020/01/13 Javascript
JS面向对象之多选框实现
2020/01/17 Javascript
JavaScript中break、continue和return的用法区别实例分析
2020/03/02 Javascript
Vue常用API、高级API的相关总结
2021/02/02 Vue.js
python实现简单的TCP代理服务器
2014/10/08 Python
利用Python为iOS10生成图标和截屏
2016/09/24 Python
django model去掉unique_together报错的解决方案
2016/10/18 Python
django使用xlwt导出excel文件实例代码
2018/02/06 Python
python爬虫实现中英翻译词典
2019/06/25 Python
python实现布隆过滤器及原理解析
2019/12/08 Python
keras.utils.to_categorical和one hot格式解析
2020/07/02 Python
python编写扎金花小程序的实例代码
2021/02/23 Python
C++面试题目
2013/06/25 面试题
师范应届生求职信
2013/11/15 职场文书
婚礼答谢宴主持词
2014/03/14 职场文书
文秘求职信范文
2014/04/10 职场文书
关于工作时间玩手机的检讨书
2014/09/18 职场文书
婚礼长辈答谢词
2015/09/29 职场文书
Go获取两个时区的时间差
2022/04/20 Golang