No último post que fiz a pouco disse que assim que necessários criaria outros componentes, eis que já precisei
.
Se trata de outro DataGridColumn mas agora com formatador para Moedas chamdo CurrencyDataGridColumn. Para usar você também terá que importar a biblioteca da seguinte maneira:
XML:
-
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="760" height="514"
-
xmlns:fd="http://www.flexdev.com.br/2008/mxml"/>
E então declarar o componente, claro dentro de um DataGrid, da seguinte maneira:
XML:
-
<fd:CurrencyDataGridColumn headerText="Previsão de Custo" dataField="previsaoCusto"/>
A exemplo do último componente ele já vem com uma formatação padrão para o nosso Real brasileiro, mas caso queira usar outro formatador basta declarar dentro do seu programa:
XML:
-
<mx:CurrencyFormatter id="usdFormatter" precision="2"
-
currencySymbol="$" decimalSeparatorFrom="."
-
decimalSeparatorTo="." useNegativeSign="true"
-
useThousandsSeparator="true" alignSymbol="left"/>
E então definir que este será o formatador para esta coluna usando a propriedade currencyFormatter, assim:
XML:
-
<fd:CurrencyDataGridColumn headerText="Previsão de Custo US" dataField="previsaoCusto" currencyFormatter="{usdFormatter}"/>
Para baixar a biblioteca basta clicar aqui.
Abraços a todos.
Olá pessoal,
Hoje resolvi fazer a coisa certa, ao invés de ficar criando labelFunction para formatar uma simples data resolvi criar um componente que faça isso pra mim, assim nasceu o DateDataGridColumn, ele simplesmente extende a classe DataGridColumn e sobrescreve o método itemToLabel que é responsável por retornar a String que será exibida na coluna.
Para quem quiser usar pode baixar aqui.
Criei em forma de biblioteca para facilitar o seu uso, bastando apenas copiar o arquivo FlexDevLib.swc para dentro da pasta libs em seu projeto e declarar o xmlns:
XML:
-
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="760" height="514"
-
xmlns:fd="http://www.flexdev.com.br/2008/mxml"/>
E então usar o componente da seguinte maneira :
XML:
-
<fd
ateDataGridColumn headerText="Data de Criação" dataField="dataCriacao"/>
Desta maneira será atribuida uma formatação padrão (DD/MM/YYYY) para alterar isso basta informar qual será a formatação na declaração do componente semelhante ao que faço aqui:
XML:
-
<fd
ateDataGridColumn headerText="Data de Solicitação" dataField="solicitacao" formatString="MM/DD/YYYY"/>
Caso tenha alguma dúvida quanto a String de formatação consulte a documentação da Adobe.
Bom este é apenas um componente simples, mas que poderá ser usado em vários projetos, assim que for surgindo a necessidade irei implementando outros componente, como por exemplo um que formate moedas, entre outros.
Abraços a todos...