Ext.form.NumberField 中的数千个分隔符

Posted

技术标签:

【中文标题】Ext.form.NumberField 中的数千个分隔符【英文标题】:Thousands separators in Ext.form.NumberField 【发布时间】:2011-09-14 08:12:08 【问题描述】:

我想覆盖 Ext.form.NumberField 的一些配置选项,但我没有找到类似“千位分隔符”的东西。有没有办法为 Ext 中的 NumberFields 定义这个?

还是我必须编写自己的函数来提供此功能?

【问题讨论】:

你想在这里实现什么?设置一个不同的字符作为千位分隔符? 是的,这正是我想要做的 好的,请看下面的答案,我想应该会有所帮助 【参考方案1】:

你也可以使用这个覆盖

Ext.override.ThousandSeparatorNumberField

【讨论】:

【参考方案2】:

根据论坛/开发人员的仔细检查,NumberField 不支持格式化。网格上的 Numbercolumn 可以。

他们的建议是使用 TextField 并在显示之前格式化值服务器端,或者在文本字段的“更改”事件上应用一个函数来应用您想要的格式,例如

        <ext:TextField             
            ID="txtField"            
            runat="server"             
            FieldLabel="My Label"            
            AllowBlank="false"             
            ReadOnly="true">             
            <Listeners>                 
                <Change Handler="this.setValue(Ext.util.Format.number(newValue.replace(/[\,\.]/g, ''), '0.000/i'));" />             
            </Listeners>         
        </ext:TextField>

我假设您需要稍微调整一下以确保您的值按您的意愿显示,但应该有一些适合此处列出的 Ext.util.Format.number 模式的内容:

http://dev.sencha.com/deploy/ext-3.3.1/docs/output/Ext.util.Format.html#Ext.util.Format-number

【讨论】:

你说 NumberField 不支持格式化。我想,这是不正确的。有一个名为“decimalSeparator”的配置选项。因此,我预计必须有类似“千分隔符”的选项。但是谢谢你的回答。我会评估你的建议。 属性未格式化,在 NumberColumn 上您可以明确定义格式:例如“0.00”,并且将应用该格式。 NumberField 不支持这一点,这就是为什么您需要将函数应用于文本字段。

以上是关于Ext.form.NumberField 中的数千个分隔符的主要内容,如果未能解决你的问题,请参考以下文章

处理 QListWidget 中的数千个项目并减少延迟

查询数千个结果时,android中的Ormlite DAO变得非常慢

当表格有数千行时,如何使 UITableView 中的滚动更快?

将数千条记录插入表中的最有效方法是啥(MySQL,Python,Django)

如何更新mysql数据库中的数千行

matplotlib hist() 中的条之间的间距与数千个箱