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 相关文章推荐
dropdownlist之间的互相联动实现(显示与隐藏)
Nov 24 Javascript
js采用concat和sort将N个数组拼接起来的方法
Jan 21 Javascript
jQuery+PHP+MySQL实现无限级联下拉框效果
Feb 19 Javascript
Node.js开发者必须了解的4个JS要点
Feb 21 Javascript
Ajax和Comet技术总结
Feb 19 Javascript
vuejs使用递归组件实现树形目录的方法
Sep 30 Javascript
关于redux-saga中take使用方法详解
Feb 27 Javascript
JS实现将链接生成二维码并转为图片的方法
Mar 17 Javascript
layui中table表头样式修改方法
Aug 15 Javascript
jQuery实现条件搜索查询、实时取值及升降序排序的方法分析
May 04 jQuery
js设计模式之代理模式及订阅发布模式实例详解
Aug 15 Javascript
JavaScript实现左右滚动电影画布
Feb 06 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
php生成文件
2007/01/15 PHP
PHP 可阅读随机字符串代码
2010/05/26 PHP
php不允许用户提交空表单(php空值判断)
2013/11/12 PHP
PHP用反撇号执行外部命令
2015/04/14 PHP
Yii中表单用法实例详解
2016/01/05 PHP
php数组实现根据某个键值将相同键值合并生成新二维数组的方法
2017/04/26 PHP
在PHP 7下安装Swoole与Yar,Yaf的方法教程
2017/06/02 PHP
Laravel程序架构设计思路之使用动作类
2018/06/07 PHP
PHP7移除的扩展和SAPI
2021/03/09 PHP
Div Select挡住的解决办法
2008/08/07 Javascript
JQuery 绑定事件时传递参数的实现方法
2009/10/13 Javascript
jquery选择器原理介绍($()使用方法)
2014/03/25 Javascript
javascript实现回车键提交表单方法总结
2015/01/10 Javascript
jquery实现点击其他区域时隐藏下拉div和遮罩层的方法
2015/12/23 Javascript
仿百度换肤功能的简单实例代码
2016/07/11 Javascript
jQuery设置Easyui校验规则(推荐)
2016/11/21 Javascript
详解JS对象封装的常用方式
2016/12/30 Javascript
谈谈JavaScript数组常用方法总结
2017/01/24 Javascript
小发现之浅谈location.search与location.hash的问题
2017/06/23 Javascript
Vue中使用webpack别名的方法实例详解
2018/06/19 Javascript
基于Nodejs的Tcp封包和解包的理解
2018/09/19 NodeJs
Vue2.0学习系列之项目上线的方法步骤(图文)
2018/09/25 Javascript
深入剖析JavaScript instanceof 运算符
2019/06/14 Javascript
Jquery实现获取子元素的方法分析
2019/08/24 jQuery
js将日期格式转换为YYYY-MM-DD HH:MM:SS
2020/09/18 Javascript
[51:14]LGD vs VP 2018国际邀请赛淘汰赛BO3 第一场 8.21
2018/08/22 DOTA
Python进阶之使用selenium爬取淘宝商品信息功能示例
2019/09/16 Python
用python写测试数据文件过程解析
2019/09/25 Python
jupyter修改文件名方式(TensorFlow)
2020/04/21 Python
python golang中grpc 使用示例代码详解
2020/06/03 Python
delegate与普通函数的区别
2014/01/22 面试题
长青弘远的面试题
2012/06/09 面试题
前台接待的工作职责
2013/11/21 职场文书
编辑求职信样本
2013/12/16 职场文书
2016幼儿园教师节新闻稿
2015/11/25 职场文书
Python访问Redis的详细操作
2021/06/26 Python