<?xml version="1.0" encoding="utf-8"?>
<mx:VBox xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" width="100%" height="100%"
xmlns:nestedtreedatagrid="com.flexicious.nestedtreedatagrid.*" xmlns:billing="com.flexicious.example.model.billing.*"
xmlns:controls="com.flexicious.controls.*" xmlns:mate="http://mate.asfusion.com/" creationComplete="vbox1_creationCompleteHandler(event)">
<fx:Script>
<![CDATA[
import com.flexicious.example.serviceproxies.BusinessService;
import com.flexicious.example.utils.ExampleUtils;
import com.flexicious.nestedtreedatagrid.events.FlexDataGridEvent;
import com.flexicious.utils.UIUtils;
import mx.collections.ArrayCollection;
import mx.collections.HierarchicalCollectionView;
import mx.collections.HierarchicalData;
import mx.events.FlexEvent;
import mx.rpc.AsyncToken;
import mx.rpc.events.ResultEvent;
import pdf.AlivePdfGenerator;
protected function vbox1_creationCompleteHandler(event:FlexEvent):void
{
}
[Bindable(private var _selectedObjects:String;
[Bindable(private var _openObjects:String;
protected function grid_changeHandler(event:FlexDataGridEvent):void
{
_selectedObjects="";
for each(var item:* in grid.getSelectedObjects())
_selectedObjects+= item.@id.toString()+",";
_openObjects="";
for each( item in grid.getOpenKeys())
_openObjects+= item+",";
}
protected function button1_clickHandler(event:MouseEvent):void
{
grid.setOpenKeys(["SW","AR"])
grid.setSelectedKeys(["BJ","TS"])
}
]]>
</fx:Script>
<fx:Declarations>
<fx:XMLList id="dpHierarchyXML">
<Region Region="Southwest" id="SW">
<Region Region="Arizona" Actual="68750" Estimate="70000" id="AR">
<Territory_Rep Territory_Rep="Barbara Jennings"
Actual="38865" Estimate="40000" id="BJ"/>
<Territory_Rep Territory_Rep="Dana Binn"
Actual="29885" Estimate="30000" id="DB"/>
</Region>
<Region Region="Central California" Actual="29134" Estimate="30000" id="CC">
<Territory_Rep Territory_Rep="Joe Smith"
Actual="29134" Estimate="30000" id="JS"/>
</Region>
<Region Region="Nevada" Actual="52888" Estimate="45000" id="NV">
<Territory_Rep Territory_Rep="Bethany Pittman"
Actual="52888" Estimate="45000" id="BP"/>
</Region>
<Region Region="Northern California" Actual="94303" Estimate="80000" id="NC">
<Territory_Rep Territory_Rep="Lauren Ipsum"
Actual="38805" Estimate="40000" id="LI"/>
<Territory_Rep Territory_Rep="T.R. Smith"
Actual="55498" Estimate="40000" id="TS"/>
</Region>
<Region Region="Southern California" Actual="89898" Estimate="90000" id="SC">
<Territory_Rep Territory_Rep="Alice Treu"
Actual="44985" Estimate="45000" id="AT"/>
<Territory_Rep Territory_Rep="Jane Grove"
Actual="44913" Estimate="45000" id="JG"/>
</Region>
</Region>
</fx:XMLList>
</fx:Declarations>
<mx:Label text="Selected Objects:{_selectedObjects}"/>
<mx:Label text="Open Objects:{_openObjects}"/>
<s:Button label="Select BJ,TS Programatically" click="button1_clickHandler(event)"/>
<nestedtreedatagrid:FlexDataGrid id="grid" width="100%" enablePrint="true" height="100%" change="grid_changeHandler(event)"
enableDrillDown="true" enableDynamicLevels="true" enableSelectionBubble="true" enableTriStateCheckbox="true"
enableExport="true" enableCopy="true" enableSelectionCascade="true" selectedKeyField="@id"
pdfBytesReady="new AlivePdfGenerator().generate(event.target as FlexDataGrid ,event.printOptions)"
dataProvider="{new HierarchicalData(dpHierarchyXML)}">
<nestedtreedatagrid:columnLevel >
<nestedtreedatagrid:FlexDataGridColumnLevel enableFooters="true" >
<nestedtreedatagrid:columns>
<nestedtreedatagrid:FlexDataGridColumn dataField="@Region" headerText="Region" enableHierarchicalNestIndent="true"/>
<nestedtreedatagrid:FlexDataGridCheckBoxColumn />
<nestedtreedatagrid:FlexDataGridColumn dataField="@id" headerText="ID"/>
<nestedtreedatagrid:FlexDataGridColumn dataField="@Territory_Rep" headerText="Territory Rep"/>
<nestedtreedatagrid:FlexDataGridColumn dataField="@Actual" headerText="Actual"
textAlign="right" headerAlign="center" footerLabel="Avg:"
footerOperation="average" footerAlign="center" footerOperationPrecision="2"
footerFormatter="{ExampleUtils.globalCurrencyFormatter}"
labelFunction="UIUtils.dataGridFormatCurrencyLabelFunction"/>
<nestedtreedatagrid:FlexDataGridColumn dataField="@Estimate" headerText="Estimate"
textAlign="right" headerAlign="center" footerLabel="Avg:"
footerOperation="average" footerAlign="center" footerOperationPrecision="2"
footerFormatter="{ExampleUtils.globalCurrencyFormatter}"
labelFunction="UIUtils.dataGridFormatCurrencyLabelFunction"/>
</nestedtreedatagrid:columns>
</nestedtreedatagrid:FlexDataGridColumnLevel>
</nestedtreedatagrid:columnLevel>
</nestedtreedatagrid:FlexDataGrid>
</mx:VBox >