<?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)"
xmlns:flxs="com.flexicious.nestedtreedatagrid.*">
<fx:Script>
<![CDATA[
import com.flexicious.controls.TextInput;
import com.flexicious.example.serviceproxies.BusinessService;
import com.flexicious.example.utils.ExampleUtils;
import com.flexicious.nestedtreedatagrid.events.FlexDataGridEvent;
import com.flexicious.utils.UIUtils;
import mock.FlexiciousMockGenerator;
import mx.collections.ArrayCollection;
import mx.controls.Alert;
import mx.events.FlexEvent;
import mx.events.ListEvent;
import mx.rpc.AsyncToken;
import mx.rpc.events.ResultEvent;
import pdf.AlivePdfGenerator;
protected function vbox1_creationCompleteHandler(event:FlexEvent):void
{
BusinessService.getInstance().getDeepOrgList(function(evt:ResultEvent,token:AsyncToken):void{grid.dataProvider=evt.result})
}
protected function grid_itemDoubleClickHandler(event:FlexDataGridEvent):void
{
}
]]>
</fx:Script>
<fx:Declarations>
</fx:Declarations>
<flxs:FlexDataGrid id="grid" width="100%" enablePrint="true" height="100%" enableMultiColumnSort="true"
enablePreferencePersistence="true" enableDrillDown="true"
enableExport="true" enableCopy="true" enableSelectionCascade="true" enableSelectionBubble="true" enableTriStateCheckbox="true"
pdfBytesReady="new AlivePdfGenerator().generate(event.target as FlexDataGrid ,event.printOptions)"
preferencePersistenceKey="nesteddata"
itemDoubleClick="grid_itemDoubleClickHandler(event)"
doubleClickEnabled="true"
horizontalScrollPolicy="auto" footerDrawTopBorder="true" >
<flxs:columnLevel >
<flxs:FlexDataGridColumnLevel enableFilters="true" enablePaging="true" initialSortField="legalName"
pageSize="20" childrenField="deals" enableFooters="true" selectedKeyField="id"
>
<flxs:groupedColumns>
<flxs:FlexDataGridCheckBoxColumn />
<flxs:FlexDataGridColumn
id="colId" dataField="id" headerText="ID" filterControl="TextInput" filterRenderer="{UIUtils.createRenderer(TextInput,{delayDuration:1500})}"/>
<flxs:FlexDataGridColumn id="colLegalName" enableCellClickRowSelect="false"
dataField="legalName" headerText="Legal Name"/>
<flxs:FlexDataGridColumnGroup headerText="Address">
<flxs:columnGroups>
<flxs:FlexDataGridColumnGroup headerText="Lines" >
<flxs:columns>
<flxs:FlexDataGridColumn enableCellClickRowSelect="false" id="colLine1" dataField="headquarterAddress.line1" headerText="Line 1" footerLabel="Count:" footerOperation="count"/>
<flxs:FlexDataGridColumn enableCellClickRowSelect="false" id="colLine2" dataField="headquarterAddress.line2" headerText="Line 2"/>
</flxs:columns>
</flxs:FlexDataGridColumnGroup>
<flxs:FlexDataGridColumnGroup headerText="Region">
<flxs:columns>
<flxs:FlexDataGridColumn id="colCity" dataField="headquarterAddress.city.name" headerText="City" filterControl="MultiSelectComboBox" filterComboBoxBuildFromGrid="true" filterComboBoxWidth="150"/>
<flxs:FlexDataGridColumn id="colState" dataField="headquarterAddress.state.name" headerText="State" filterControl="MultiSelectComboBox" filterComboBoxBuildFromGrid="true" filterComboBoxWidth="150"/>
<flxs:FlexDataGridColumn id="colCountry" dataField="headquarterAddress.country.name" headerText="Country" filterControl="MultiSelectComboBox" filterComboBoxBuildFromGrid="true" filterComboBoxWidth="150"/>
</flxs:columns>
</flxs:FlexDataGridColumnGroup>
</flxs:columnGroups>
</flxs:FlexDataGridColumnGroup>
<flxs:FlexDataGridColumnGroup headerText="Financials" >
<flxs:columns>
<flxs:FlexDataGridColumn id="colAnnRev" dataField="annualRevenue" headerText="Annual Revenue" textAlign="right" headerAlign="center" footerLabel="Avg:" footerOperation="average" footerAlign="center" footerOperationPrecision="2" footerFormatter="{ExampleUtils.globalCurrencyFormatter}" labelFunction="UIUtils.dataGridFormatCurrencyLabelFunction"/>
<flxs:FlexDataGridColumn id="colNumEmp" dataField="numEmployees" headerText="Num Employees" textAlign="right" footerLabel="Avg:" footerOperation="average" footerOperationPrecision="2" footerFormatter="{ExampleUtils.globalCurrencyFormatter}" labelFunction="UIUtils.dataGridFormatCurrencyLabelFunction"/>
<flxs:FlexDataGridColumn id="colEPS" dataField="earningsPerShare" headerText="EPS" textAlign="right" footerLabel="Avg:" footerOperation="average" footerFormatter="{ExampleUtils.globalCurrencyFormatter}" labelFunction="UIUtils.dataGridFormatCurrencyLabelFunction"/>
<flxs:FlexDataGridColumn id="colStockPrice" dataField="lastStockPrice" headerText="Stock Price" textAlign="right" footerLabel="Avg:" footerOperation="average" footerOperationPrecision="2" footerFormatter="{ExampleUtils.globalCurrencyFormatter}" labelFunction="UIUtils.dataGridFormatCurrencyLabelFunction"/>
</flxs:columns>
</flxs:FlexDataGridColumnGroup>
</flxs:groupedColumns>
<flxs:nextLevel>
<flxs:FlexDataGridColumnLevel childrenField="invoices" enableFooters="true" selectedKeyField="id" nestIndent="30"
initialSortField="dealDate" initialSortAscending="false" parentField="customer">
<flxs:columns>
<flxs:FlexDataGridCheckBoxColumn />
<flxs:FlexDataGridColumn dataField="dealDescription" headerText="Deal Description"
footerLabel="Count:" footerOperation="count" footerAlign="center"
/>
<flxs:FlexDataGridColumn dataField="dealAmount" headerText="Deal Amount" textAlign="right"
footerLabel="Total:" footerOperation="sum" footerAlign="right"
footerOperationPrecision="2" footerFormatter="{ExampleUtils.globalCurrencyFormatter}"
labelFunction="UIUtils.dataGridFormatCurrencyLabelFunction"/>
<flxs:FlexDataGridColumn dataField="dealDate" headerText="Deal Date" labelFunction="UIUtils.dataGridFormatDateLabelFunction"/>
</flxs:columns>
<flxs:nextLevel>
<flxs:FlexDataGridColumnLevel childrenField="lineItems" enableFooters="true" enablePaging="true" pageSize="3"
selectedKeyField="id" parentField="deal" nestIndent="30">
<flxs:columns>
<flxs:FlexDataGridCheckBoxColumn />
<flxs:FlexDataGridColumn dataField="id" headerText="Invoice Number"
footerLabel="Count:" footerOperation="count" footerAlign="center"
/>
<flxs:FlexDataGridColumn dataField="invoiceAmount" headerText="Invoice Amount" textAlign="right"
footerLabel="Total:" footerOperation="sum" footerAlign="right"
footerOperationPrecision="2" footerFormatter="{ExampleUtils.globalCurrencyFormatter}"
labelFunction="UIUtils.dataGridFormatCurrencyLabelFunction"/>
<flxs:FlexDataGridColumn dataField="invoiceStatus.name" headerText="Invoice Status" />
<flxs:FlexDataGridColumn dataField="invoiceDate" headerText="Invoice Date"
labelFunction="UIUtils.dataGridFormatDateLabelFunction"/>
<flxs:FlexDataGridColumn dataField="dueDate" headerText="Due Date"
labelFunction="UIUtils.dataGridFormatDateLabelFunction"/>
</flxs:columns>
<flxs:nextLevel>
<flxs:FlexDataGridColumnLevel enableFooters="true" selectedKeyField="id" parentField="invoice" nestIndent="30">
<flxs:columns>
<flxs:FlexDataGridCheckBoxColumn />
<flxs:FlexDataGridColumn dataField="lineItemDescription" headerText="Line Item Description"
footerLabel="Count:" footerOperation="count" footerAlign="center"
/>
<flxs:FlexDataGridColumn dataField="lineItemAmount" headerText="Line Item Amount" textAlign="right"
footerLabel="Total:" footerOperation="sum" footerAlign="right"
footerOperationPrecision="2" footerFormatter="{ExampleUtils.globalCurrencyFormatter}"
labelFunction="UIUtils.dataGridFormatCurrencyLabelFunction"/>
</flxs:columns>
</flxs:FlexDataGridColumnLevel>
</flxs:nextLevel>
</flxs:FlexDataGridColumnLevel>
</flxs:nextLevel>
</flxs:FlexDataGridColumnLevel>
</flxs:nextLevel>
</flxs:FlexDataGridColumnLevel>
</flxs:columnLevel>
</flxs:FlexDataGrid>
</mx:VBox >