Разделители тысяч в Ext.form.NumberField

Я хочу переопределить некоторые параметры конфигурации Ext.form.NumberField, но не нахожу что-то вроде «разделителя тысяч». Есть ли способ определить это для NumberFields в Ext?

Или мне пришлось написать свою собственную функцию, чтобы обеспечить эту функциональность?


person derphil    schedule 14.09.2011    source источник
comment
Чего вы пытаетесь достичь здесь? установить другой символ в качестве разделителя тысяч?   -  person dougajmcdonald    schedule 14.09.2011
comment
Да, это именно то, что я хочу сделать   -  person derphil    schedule 14.09.2011
comment
Хорошо, смотрите ответ ниже, я думаю, это должно помочь   -  person dougajmcdonald    schedule 14.09.2011


Ответы (2)


При ближайшем рассмотрении, согласно форумам/разработчикам, NumberField не поддерживает форматирование. Номер столбца на сетке делает.

Их предложение состоит в том, чтобы использовать 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

person dougajmcdonald    schedule 14.09.2011
comment
Вы сказали, что NumberField не поддерживает форматирование. Я думаю, это не правильно. Существует параметр конфигурации, который называется decimalSeparator. Из-за этого я ожидал, что должно быть что-то вроде параметра тысяча разделителей. Но спасибо за ваш ответ. Я рассмотрю ваше предложение. - person derphil; 14.09.2011
comment
свойство не форматируется, в NumberColumn вы можете явно определить формат: например, 0,00, и это форматирование будет применено. NumberField не поддерживает это, поэтому вам нужно применить функцию к текстовому полю. - person dougajmcdonald; 14.09.2011

вы также можете использовать это переопределение

Ext.override.ThousandSeparatorNumberField

person Omid Shariati    schedule 17.11.2013