如何将货币格式化程序放入 Flex 数据网格列中?

发布于 2024-10-14 02:23:21 字数 64 浏览 2 评论 0原文

我需要使用货币格式化程序来格式化该列。我知道如何进行货币格式化,我只需要一个有关如何将其实现到数据网格列中的示例。

I need to format the column with a currency formatter. I know how to do currency formatting I just need an example on how to implement it into the datagrid column.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

梦年海沫深 2024-10-21 02:23:21

无需使用 itemRenderer。只需使用labelFunction。示例:

DataGridColumn:

<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" />

No need to use an itemRenderer. Just use a labelFunction. Example:

The DataGridColumn:

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

LabelFormatter label function:

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;
}

The Currency Formatter:

<mx:CurrencyFormatter id="currencyFormat" precision="2" />
埋情葬爱 2024-10-21 02:23:21

或者:

private function formatarValor(item:Object, coluna:DataGridColumn):String{
    return realFormatter.format(item[coluna.dataField]);
}

Or:

private function formatarValor(item:Object, coluna:DataGridColumn):String{
    return realFormatter.format(item[coluna.dataField]);
}
⊕婉儿 2024-10-21 02:23:21

基于 ActionScript 的答案,不需要定义附加函数:

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

来自 Adobe 文档,labelFunction 属性对于执行更复杂的任务非常有用,例如将数据提供程序中的两个字段组合到一列中。但对于简单的任务(例如格式化货币值),上面的代码就足够了。

An ActionScript based answer that doesn't require defining an additional function:

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

From the Adobe docs, the labelFunction property is useful for performing more complex tasks, such as combining two fields from the data provider into one column. But for a simple task such as formatting currency values, the above code is sufficient.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文