Flex中DataGrid的NumberFormat列

时间:2011-09-09 13:08:36

标签: datagrid flex4

我使用XML作为数据源来填充我的数据网格。我需要使用数千个分隔符格式化数字列。因此我创建了一个<mx:NumberFormatter id="setNumberFormat" .../>

但我没有在下面的代码中使用它。 (请参阅注释//使用numberFormatter格式化数字)

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; 

                }

是否对此代码进行了调整,以便采用数字格式?

1 个答案:

答案 0 :(得分:0)

在所需的每一列中使用labelFunction,并指定labelFunction:

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

labelFunction:

private function myLabelFunction(item:Object, column:GridColumn):String
        {   
            return setNumberFormat.format(item[column.dataField]);
        }