2011-09-14 45 views
1

我想覆蓋Ext.form.NumberField的某些配置選項,但我沒有找到像「千位分隔符」之類的東西。有沒有辦法在Ext中爲NumberFields定義這個?Ext.form.NumberField中的數千個分隔符

或者我必須編寫自己的函數來提供此功能嗎?

+0

什麼是你想在這裏實現?設置與千位分隔符不同的角色? – dougajmcdonald

+0

是的,這正是我想要做的 – derphil

+0

好吧,看下面的答案,它應該有幫助我認爲 – dougajmcdonald

回答

1

根據forums/devs進行仔細檢查,NumberField不支持格式化。網格上的數字列。

他們的建議是使用TextField,並在顯示值之前格式化服務器端值,或者應用一個函數來說明文本字段的'change'事件以應用所需的格式。

 <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

+0

你說,那個NumberField不支持格式。我想,這是不正確的。有一個名爲「decimalSeparator」的配置選項。正因爲如此,我預計必須有一個像「千分隔符」選項。但謝謝你的回答。我會評估你的建議。 – derphil

+0

屬性未格式化,您可以在NumberColumn上明確定義格式:例如「0.00」,該格式將被應用。 NumberField不支持這一點,這就是爲什麼你需要將一個函數應用到文本字段。 – dougajmcdonald