2011-09-09 6 views
2

データソースとしてXMLを使用してデータグリッドを埋めています。何千もの区切り文字で数値列を書式化する必要があります。したがって、私は作成しました<mx:NumberFormatter id="setNumberFormat" .../>NumberFormat FlexのDatagridの列

しかし、私は以下のコードでそれを使用することはできません。 (コメントを参照してください//数値フォーマットを使用したフォーマット番号)

for each(var item in fieldsXMLListNew){ 

        //Copy all columns in to a proxy 
        var dgColumns:Array = myGrid.columns; 
        //create a new dynamic Column 
        var aColumn:DataGridColumn = new DataGridColumn(); 
        // add parameters 

        aColumn.dataField = '@' + item.attribute("field"); 
        if (item.attribute("data_type") == "N"){ //Numeric Fields Only 
         //Sort Numeric Columns 
         aColumn.sortCompareFunction = xmlDataGridNumericSorter(item.attribute("field").toString()); 
         //Format Numbers using numberFormatter 
         setNumberFormat.format(item.attribute("field").toString()); 
        } 
        aColumn.headerText = item.attribute("header_text"); 
        //add to proxy 
        dgColumns.push(aColumn); 
        //copy all in to Data Grid columns again. 
        myGrid.columns = dgColumns; 

       } 

数値形式をとるようにこのコードを調整しますか?あなたがしたい各列の

+0

あなたが使用することを失敗述べました。何が問題ですか?項目がの場合、属性名は値 "123"の "field"です。 setNumberFormat.format(item.attribute( "field")。toString()); setNumberFormat.format(123)と同じです。 –

答えて

0

利用のlabelFunction、のlabelFunctionをassinging:

<s:GridColumn dataField="field" labelFunction="myLabelFunction"/> 

のlabelFunction:

private function myLabelFunction(item:Object, column:GridColumn):String 
     { 
      return setNumberFormat.format(item[column.dataField]); 
     } 
関連する問題