Как поместить конвертер валют в столбец гибкой таблицы данных? - PullRequest
2 голосов
/ 26 января 2011

Мне нужно отформатировать столбец с помощью средства форматирования валюты. Я знаю, как выполнять форматирование валюты. Мне просто нужен пример того, как реализовать его в столбце таблицы данных.

Ответы [ 3 ]

1 голос
/ 12 июня 2011

Или:

private function formatarValor(item:Object, coluna:DataGridColumn):String{
    return realFormatter.format(item[coluna.dataField]);
}
1 голос
/ 18 июля 2012

Ответ на основе ActionScript, который не требует определения дополнительной функции:

var currencyFormatter:CurrencyFormatter = new CurrencyFormatter();
var gridCol:GridColumn = new GridColumn("My Money");
gridCol.dataField = "amount";
gridCol.formatter = currencyFormatter;

Из Документов Adobe свойство labelFunction полезно для выполнения более сложных задач, таких какобъединение двух полей поставщика данных в один столбец.Но для такой простой задачи, как форматирование валютных значений, приведенного выше кода достаточно.

1 голос
/ 26 января 2011

Нет необходимости использовать itemRenderer. Просто используйте labelFunction. Пример:

Столбец DataGrid:

<mx:DataGridColumn headerText="Total Cost" dataField="TotalCost" labelFunction="LabelFormatter"/>

Функция метки LabelFormatter:

protected function LabelFormatter(item:Object, column:DataGridColumn):String
{
  var returnLabel:String = "";
  var header:String = column.headerText;

  switch (header)
  {                 
    case "Total Cost":
      returnLabel = currencyFormat.format(item.TotalCost.toString());
      break;
  }

  return returnLabel;
}

Форматировщик валюты:

<mx:CurrencyFormatter id="currencyFormat" precision="2" />
...