2010-10-07 62 views
3

我有一个带有NumberColumn的Ext编辑器网格。该列的编辑器设置为Ext.form.TextField。此网格由JSON填充,数据以JSON形式提交。ExtJS以字符串形式提交的TextField值,而不是整数/数字

我的问题是,当用户在此列中输入一个数字时,它将作为字符串而不是数字发送。换句话说,它看起来像这样属性:“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

您应该接受第一个答案。 – 2011-11-22 17:34:41

回答

3

找到了解决办法。显然有一个Ext.form.NumberField。它没有在ExtJS文档中列出,我不得不搜索它。

+1

http://dev.sencha.com/deploy/dev/docs/?class=Ext.form.NumberField – 2010-10-08 08:02:45

0

注意到为了从表单中实际得到类型值,getValues不适用。

Ext.form.Basic也有一个方法getFieldValues这将返回值时,你会希望他们POST'ing JSON(或其他非字符串格式)。这将返回numberfield s作为整数,复选框作为布尔值等。

P.S. getFieldValues只是getValues的包装;它使用名为useDataValues的未公开的第4个参数,其名称当然令人困惑,更不用说名称getFieldValues

相关问题