我使用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;
}
是否对此代码进行了调整,以便采用数字格式?
答案 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]);
}