2011-09-14 17 views
1

Ext.form.NumberFieldのいくつかの設定オプションをオーバーライドしたいが、 "千単位セパレータ"のようなものは見つからない。 ExtのNumberFieldsにこれを定義する方法はありますか?Ext.form.NumberFieldの何千ものセパレータ

また、この機能を提供するために独自の関数を作成する必要がありましたか?

+0

このオーバーライドを使用することができますか?何千ものセパレータとは違うキャラクターを設定していますか? – dougajmcdonald

+0

はい、まさに私がやりたいことです。 – derphil

+0

Ok、以下の答えを見てください。 – dougajmcdonald

答えて

1

フォーラム/ devsに従って詳細に調べると、NumberFieldは書式設定をサポートしていません。グリッド上のNumberColumnが行います。

彼らの提案は、TextFieldを使用してそれを表示する前に値serversideをフォーマットするか、テキストフィールドの '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"という設定オプションがあります。そのため、私は、 "1000セパレータ"オプションのようなものがなければならないと予想しています。しかし、あなたの答えに感謝します。あなたの提案を評価します。 – derphil

+0

プロパティは書式設定されていません.NumberColumnでは明示的に書式を定義することができます。たとえば「0.00」と書式設定が適用されます。 NumberFieldはこれをサポートしていないため、テキストフィールドに関数を適用する必要があります。 – dougajmcdonald

関連する問題