2010-10-07 27 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

相關問題