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 相关文章推荐
滚动经典最新话题[prototype框架]下编写
Oct 03 Javascript
javascript 实现 秒杀,团购 倒计时展示的记录 分享
Jul 12 Javascript
基于JQuery的列表拖动排序实现代码
Oct 01 Javascript
JS去除重复并统计数量的实现方法
Dec 15 Javascript
javascript过滤数组重复元素的实现方法
May 03 Javascript
详解React 在服务端渲染的实现
Nov 16 Javascript
JavaScript简单实现关键字文本搜索高亮显示功能示例
Jul 25 Javascript
详解vue.js下引入百度地图jsApi的两种方法
Jul 27 Javascript
JS实现判断移动端PC端功能
Feb 21 Javascript
解决Vue-Router升级导致的Uncaught (in promise)问题
Aug 07 Javascript
微信小程序实现单个或多个倒计时功能
Nov 01 Javascript
vue实现水波涟漪效果的点击反馈指令
May 31 Vue.js
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信号处理机制的操作代码讲解
2019/04/19 PHP
javascript 添加和移除函数的通用方法
2009/10/20 Javascript
jQuery Ajax 实例全解析
2011/04/20 Javascript
远离JS灾难css灾难之 js私有函数和css选择器作为容器
2011/12/11 Javascript
JQuery Highcharts 动态生成图表的方法
2013/11/15 Javascript
jquery实现鼠标滑过小图时显示大图的方法
2015/01/14 Javascript
js中flexible.js实现淘宝弹性布局方案
2020/06/23 Javascript
jquery实现图片预加载
2015/12/25 Javascript
微信小程序(应用号)简单实例应用及实例详解
2016/09/26 Javascript
JavaScript高仿支付宝倒计时页面及代码实现
2016/10/21 Javascript
Angular 4.x 动态创建表单实例
2017/04/25 Javascript
关于微信小程序获取小程序码并接受buffer流保存为图片的方法
2019/06/07 Javascript
微信小程序与公众号实现数据互通的方法
2019/07/25 Javascript
layui富文本编辑器前端无法取值的解决方法
2019/09/18 Javascript
详解Vscode中使用Eslint终极配置大全
2019/11/08 Javascript
vue+echarts实现中国地图流动效果(步骤详解)
2021/01/27 Vue.js
[03:58]2014DOTA2国际邀请赛 龙宝赛后解密DK获胜之道
2014/07/14 DOTA
[01:02:26]DOTA2-DPC中国联赛 正赛 SAG vs RNG BO3 第二场 1月18日
2021/03/11 DOTA
pandas 使用apply同时处理两列数据的方法
2018/04/20 Python
python如何创建TCP服务端和客户端
2018/08/26 Python
python与字符编码问题
2019/05/24 Python
python获取依赖包和安装依赖包教程
2020/02/13 Python
Python+kivy BoxLayout布局示例代码详解
2020/12/28 Python
Python实现一个论文下载器的过程
2021/01/18 Python
5个你不知道的HTML5的接口介绍
2013/08/07 HTML / CSS
ToysRus日本官网:玩具反斗城
2018/09/08 全球购物
Nisbets法国:英国最大的厨房和餐饮设备供应商
2019/03/18 全球购物
eBay英国购物网站:eBay.co.uk
2019/06/19 全球购物
简述你对Statement,PreparedStatement,CallableStatement的理解
2013/03/25 面试题
结婚典礼证婚词
2014/01/08 职场文书
教师应聘自荐信范文
2014/03/14 职场文书
办公设备采购方案
2014/03/16 职场文书
体育教师求职信
2014/06/30 职场文书
商务宴会祝酒词
2015/08/11 职场文书
Python中使用subprocess库创建附加进程
2021/05/11 Python
python的列表生成式,生成器和generator对象你了解吗
2022/03/16 Python