Ext.Net中Ext.Form.NumberField的格式化

本文介绍如何在ExtJS框架中对NumberField组件进行扩展,实现数值字段的数据格式化显示,包括设置千位分隔符及小数点等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在做一个项目,在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);

            }

        });

 

 

转载于:https://www.cnblogs.com/yycan/p/3513745.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值