<?xml version="1.0" encoding="utf-8"?>
<mx:VBox xmlns:fx="http://ns.adobe.com/mxml/2009" creationComplete="hbox1_creationCompleteHandler(event)"
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.*">
<fx:Script>
<![CDATA[
import com.flexicious.example.model.billing.LineItem;
import com.flexicious.example.serviceproxies.BusinessService;
import com.flexicious.example.utils.ExampleUtils;
import com.flexicious.example.view.support.CustomSpinner;
import com.flexicious.grids.filters.Filter;
import com.flexicious.nestedtreedatagrid.valueobjects.RowPositionInfo;
import com.flexicious.utils.UIUtils;
import mock.FlexiciousMockGenerator;
import mx.collections.ArrayCollection;
import mx.events.FlexEvent;
import mx.rpc.AsyncToken;
import mx.rpc.events.ResultEvent;
import pdf.AlivePdfGenerator;
protected function hbox1_creationCompleteHandler(event:FlexEvent):void
{
loadData();
}
protected function checkbox1_changeHandler(event:Event):void
{
grid.spinnerFactory = cbCustomSpinner.selected?new ClassFactory(CustomSpinner):null;
grid.showSpinner();
loadData();
}
private function loadData():void
{
BusinessService.getInstance().setDelay(3);
var f:Filter=new Filter();
f.pageIndex=0;
f.pageSize=grid.pageSize;
BusinessService.getInstance().getPagedOrganizationList(f,
function(evt:ResultEvent,token:AsyncToken):void
{
grid.dataProvider=evt.result.collection;
grid.totalRecords=evt.result.totalRecords;
grid.hideSpinner();
BusinessService.getInstance().setDelay(1);
}
); }
]]>
</fx:Script>
<fx:Declarations>
</fx:Declarations>
<mx:CheckBox change="checkbox1_changeHandler(event)" label="Use custom spinner" id="cbCustomSpinner"/>
<nestedtreedatagrid:FlexDataGrid id="grid" width="100%" height="100%" enablePrint="true" enablePreferencePersistence="true"
enableExport="true" enableCopy="true" preferencePersistenceKey="simpleGrid"
pdfBytesReady="new AlivePdfGenerator().generate(event.target as FlexDataGrid ,event.printOptions)"
enableMultiColumnSort="true" useCompactPreferences="true" showSpinnerOnFilterPageSort="true"
>
<nestedtreedatagrid:columnLevel >
<nestedtreedatagrid:FlexDataGridColumnLevel selectedKeyField="id" enablePaging="true" pageSize="50" enableFilters="true"
enableFooters="true" initialSortField="legalName" initialSortAscending="true"
>
<nestedtreedatagrid:columns>
<nestedtreedatagrid:FlexDataGridColumn id="colId" dataField="id" headerText="ID" filterControl="TextInput"/>
<nestedtreedatagrid:FlexDataGridColumn id="colLegalName" dataField="legalName" headerText="Legal Name"/>
<nestedtreedatagrid:FlexDataGridColumn id="colLine1" dataField="headquarterAddress.line1" headerText="Line 1" footerLabel="Count:" footerOperation="count"/>
<nestedtreedatagrid:FlexDataGridColumn id="colLine2" dataField="headquarterAddress.line2" headerText="Line 2"/>
<nestedtreedatagrid:FlexDataGridColumn id="colCity" dataField="headquarterAddress.city.name" headerText="City" filterControl="MultiSelectComboBox" filterComboBoxBuildFromGrid="true" filterComboBoxWidth="150"/>
<nestedtreedatagrid:FlexDataGridColumn id="colState" dataField="headquarterAddress.state.name" headerText="State" filterControl="MultiSelectComboBox" filterComboBoxBuildFromGrid="true" filterComboBoxWidth="150"/>
<nestedtreedatagrid:FlexDataGridColumn id="colCountry" dataField="headquarterAddress.country.name" headerText="Country" filterControl="MultiSelectComboBox" filterComboBoxBuildFromGrid="true" filterComboBoxWidth="150"/>
<nestedtreedatagrid: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"/>
<nestedtreedatagrid:FlexDataGridColumn id="colNumEmp" dataField="numEmployees" headerText="Num Employees" textAlign="right" footerLabel="Avg:" footerOperation="average" footerOperationPrecision="2" footerFormatter="{ExampleUtils.globalCurrencyFormatter}" labelFunction="UIUtils.dataGridFormatCurrencyLabelFunction"/>
<nestedtreedatagrid:FlexDataGridColumn id="colEPS" dataField="earningsPerShare" headerText="EPS" textAlign="right" footerLabel="Avg:" footerOperation="average" footerFormatter="{ExampleUtils.globalCurrencyFormatter}" labelFunction="UIUtils.dataGridFormatCurrencyLabelFunction"/>
<nestedtreedatagrid:FlexDataGridColumn id="colStockPrice" dataField="lastStockPrice" headerText="Stock Price" textAlign="right" footerLabel="Avg:" footerOperation="average" footerOperationPrecision="2" footerFormatter="{ExampleUtils.globalCurrencyFormatter}" labelFunction="UIUtils.dataGridFormatCurrencyLabelFunction"/>
</nestedtreedatagrid:columns>
</nestedtreedatagrid:FlexDataGridColumnLevel>
</nestedtreedatagrid:columnLevel>
</nestedtreedatagrid:FlexDataGrid>
</mx:VBox>