ExtJS TextField значения представлены в виде строки вместо целого числа / числа - PullRequest
3 голосов
/ 07 октября 2010

У меня есть сетка Ext Editor с NumberColumn.Редактор столбца имеет значение Ext.form.TextField.Эта сетка заполняется JSON, а данные представляются в виде JSON.

Моя проблема заключается в том, что когда пользователь вводит число в этом столбце, оно отправляется в виде строки, а не числа.Другими словами, это выглядит так: Свойство: "500" и что я хочу, это: Свойство: 500 .

Определение моего столбца:

new Ext.grid.NumberColumn ({
            header: 'Area (ha)',
            dataIndex: 'Area',
            format: '0',
            width: 60,
            editor: new Ext.form.TextField({
                allowBlank: false
            })
        })

И определение поля для этого столбца:

{ name: 'Area'}

Я пробовал это, но ничего не происходит:

{ name: 'Area', type: 'int' }

Есть идеи?Спасибо!

Ответы [ 2 ]

3 голосов
/ 07 октября 2010

Нашел разрешение. По-видимому, есть Ext.form.NumberField. Его нет в документации ExtJS, мне пришлось его искать.

1 голос
/ 22 ноября 2011

Также полезно отметить, что для фактического вывода типизированных значений из формы, getValues не подходит.

Ext.form.Basic также имеет метод getFieldValues, который будет возвращать значения в том виде, в каком вы хотите их использовать при POST'ing JSON (или другом неформатированном формате). Это вернет numberfield s как целые числа, флажки как логические значения и т. Д.

P.S. getFieldValues - это просто оболочка вокруг getValues; он использует недокументированный 4-й параметр, который называется useDataValues, имя которого, конечно, сбивает с толку, не говоря уже о названии getFieldValues.

...