AdvancedDatagrid] Itemrenderer 활용
<?xml version="1.0"?>
<!-- dpcontrols/adg/HierarchicalADGSimpleRenderer.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" width="500" height="150">
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
[Bindable]
public var OrexhComboData:ArrayCollection = new ArrayCollection(
[
{Region:"CICAGO", Territory_Rep:10,Actual:10,Estimate:20},
{Region:"SEOUL", Territory_Rep:100,Actual:100,Estimate:10},
{Region:"TEXAS", Territory_Rep:10,Actual:12,Estimate:34}
] );
]]>
</mx:Script>
<mx:AdvancedDataGrid width="100%" height="100%" dataProvider="{OrexhComboData}" sortExpertMode="true">
<mx:columns>
<mx:AdvancedDataGridColumn dataField="Region" width="70"/>
<mx:AdvancedDataGridColumn dataField="Territory_Rep"
headerText="Territory Rep" width="100"/>
<mx:AdvancedDataGridColumn dataField="Actual" width="70"/>
<mx:AdvancedDataGridColumn dataField="Estimate" width="70"/>
<mx:AdvancedDataGridColumn id="diffCol"
headerText="Difference"/>
</mx:columns>
<mx:rendererProviders>
<mx:AdvancedDataGridRendererProvider column="{diffCol}"
renderer="SummaryRenderer"/>
</mx:rendererProviders>
</mx:AdvancedDataGrid>
</mx:Application>
<?xml version="1.0"?>
<!-- dpcontrols/adg/myComponents/SummaryRenderer.mxml -->
<mx:Label xmlns:mx="http://www.adobe.com/2006/mxml" textAlign="center">
<mx:Script>
<![CDATA[
override public function set data(value:Object):void
{
var diff:Number =
Number(value["Actual"]) - Number(value["Estimate"]);
// 다른필드데이타필드로부터 값얻어오는방법 value["필드명"]
if (diff < 0)
{
setStyle("color", "red");
text = "Undersold by " + usdFormatter.format(diff);
}
else
{
setStyle("color", "green");
text = "Exceeded estimate by " + usdFormatter.format(diff);
}
}
]]>
</mx:Script>
<mx:CurrencyFormatter id="usdFormatter" precision="2"
currencySymbol="$" decimalSeparatorFrom="."
decimalSeparatorTo="." useNegativeSign="true"
useThousandsSeparator="true" alignSymbol="left"/>
</mx:Label>