extjs 计算日期之和_Extjs中DisplayField的日期或者数...-JavaScript的类型简单说明-JavaScript类和继承 this属性使用说明_169IT.COM...

使用 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()

}]

});

那它显示的就有点不正确了

那么我们可以重写一下 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'

}]

});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值