我有一个带有NumberColumn的Ext Editor Grid。列的编辑器设置为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' }
有什么想法吗?谢谢!
答案 0 :(得分:3)
找到了解决方案。显然有一个Ext.form.NumberField。它没有在ExtJS文档中列出,我必须搜索它。
答案 1 :(得分:1)
注意,为了从表单中实际获取类型值,getValues
不合适也是有用的。
Ext.form.Basic
还有一个方法getFieldValues
,它会在POST'ing JSON(或其他非字符串格式)时返回您想要的值。这将返回numberfield
个整数,复选框返回为布尔值等。
P.S。 getFieldValues
只是getValues
的封套;它使用名为useDataValues
的未记录的第4个参数,其名称当然令人困惑,更不用说名称getFieldValues
。