Ext.Net中Ext.Form.NumberField的格式化
最近在做一个项目,在column中使用numberField时可以通过render来格式化显示数据,于是在panel这一类中使用NumberField也想格式化显示数据,于是自己就尝试些,在尝试了很多次失败后,我决定对Numberfield控件的重写:
Ext.override(Ext.form.NumberField, {
baseChars: "0123456789,",
setValue: function (v) {
v = typeof v == ‘number‘ ? v : String(v).replace(this.decimalSeparator,
".").replace(/,/g, "");
v = isNaN(v) ? ‘‘ : Ext.util.Format.number(
this.fixPrecision(String(v)), "0,000,000.00");
this.setRawValue(v);
},
validateValue: function (v) {
var value = this.getRawValue();
if (!Ext.form.NumberField.superclass.validateValue.call(this, value)) {
value = String(value).replace(this.decimalSeparator, ".").replace(/,/g, "");
value = parseFloat(value);
if (!Ext.form.NumberField.superclass.validateValue.call(this, value)) {
return false; }
else {
return true; }
} },
getValue: function (v) {
v = this.getRawValue();
v = String(v).replace(this.decimalSeparator,".").replace(/,/g, "");
return parseFloat(v); },
on: function (v) {
v = this.getRawValue();
v = String(v).replace(this.decimalSeparator,".").replace(/,/g, "");
this.setRawValue(v);
}
});
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。