<?xml version="1.0" encoding="utf-8"?>
<mx:HBox 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.*"
         creationComplete="hbox1_creationCompleteHandler(event)">
    <fx:Script>
        <![CDATA[
            import com.flexicious.example.serviceproxies.BusinessService;
            import com.flexicious.example.utils.ExampleUtils;
            import com.flexicious.utils.UIUtils;
            
            import mx.events.FlexEvent;
            import mx.rpc.AsyncToken;
            import mx.rpc.events.ResultEvent;
            
            import pdf.AlivePdfGenerator;
            [Bindable(private var _dataProvider:Object;
            
            protected function hbox1_creationCompleteHandler(event:FlexEvent):void
            {
                BusinessService.getInstance().getAllLineItems(function(evt:ResultEvent,token:AsyncToken):void{_dataProvider=evt.result})
            }
            
        ]]>
    </fx:Script>
    <mx:VBox width="100%" height="100%" >
        <s:Label text="Loading {_dataProvider.length} records."/>
        <mx:HBox width="100%"  height="100%" >
            <nestedtreedatagrid:FlexDataGrid id="grid" width="650" height="100%" horizontalScrollPolicy="on" dataProvider="{_dataProvider}"
                                             preferencePersistenceKey="largeDataset">
                <nestedtreedatagrid:columns>
                    
                    <nestedtreedatagrid:FlexDataGridColumn dataField="id" headerText="1 ID" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="lineItemDescription" headerText="2 Line Item Description" width="200" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="lineItemAmount" headerText="3 Line Item Amount" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.invoiceNumber" headerText="4 Invoice Number" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.invoiceAmount" headerText="5 Invoice Amount" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.invoiceStatus.name" headerText="6 Invoice Status" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.dealDescription" headerText="7 Deal" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.invoiceDate" headerText="8 Invoice Date" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.dueDate" headerText="9 Due Date" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.dealDescription" headerText="10 Deal" width="200"/>
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.dealStatus.name" headerText="11 Deal Status" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.customer.legalName" headerText="12 Customer" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.customer.headquarterAddress.line1" headerText="13 Address Line 1" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.customer.headquarterAddress.line2" headerText="14 Address Line 2"/>
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.customer.headquarterAddress.city.name" headerText="15 City" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.customer.headquarterAddress.state.name" headerText="16 State" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.customer.headquarterAddress.country.name" headerText="17 Country"/>
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.customer.annualRevenue" headerText="18 Annual Revenue" textAlign="right" headerAlign="center" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.customer.numEmployees" headerText="19 Num Employees" textAlign="right" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.customer.earningsPerShare" headerText="20 EPS" textAlign="right" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.customer.lastStockPrice" headerText="21 Stock Price" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="id" headerText="22 ID" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="lineItemDescription" headerText="23 Line Item Description" width="200" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="lineItemAmount" headerText="24 Line Item Amount" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.invoiceNumber" headerText="25 Invoice Number" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.invoiceAmount" headerText="26 Invoice Amount" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.invoiceStatus.name" headerText="27 Invoice Status" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.dealDescription" headerText="28 Deal" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.invoiceDate" headerText="29 Invoice Date" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.dueDate" headerText="30 Due Date" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.dealDescription" headerText="31 Deal" width="200"/>
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.dealStatus.name" headerText="32 Deal Status" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.customer.legalName" headerText="33 Customer" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.customer.headquarterAddress.line1" headerText="34 Address Line 1" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.customer.headquarterAddress.line2" headerText="35 Address Line 2"/>
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.customer.headquarterAddress.city.name" headerText="36 City" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.customer.headquarterAddress.state.name" headerText="37 State" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.customer.headquarterAddress.country.name" headerText="38 Country"/>
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.customer.annualRevenue" headerText="39 Annual Revenue" textAlign="right" headerAlign="center" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.customer.numEmployees" headerText="40 Num Employees" textAlign="right" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.customer.earningsPerShare" headerText="41 EPS" textAlign="right" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.customer.lastStockPrice" headerText="42 Stock Price" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="id" headerText="43 ID" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="lineItemDescription" headerText="44 Line Item Description" width="200" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="lineItemAmount" headerText="45 Line Item Amount" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.invoiceNumber" headerText="46 Invoice Number" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.invoiceAmount" headerText="47 Invoice Amount" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.invoiceStatus.name" headerText="48 Invoice Status" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.dealDescription" headerText="49 Deal" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.invoiceDate" headerText="50 Invoice Date" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.dueDate" headerText="51 Due Date" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.dealDescription" headerText="52 Deal" width="200"/>
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.dealStatus.name" headerText="53 Deal Status" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.customer.legalName" headerText="54 Customer" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.customer.headquarterAddress.line1" headerText="55 Address Line 1" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.customer.headquarterAddress.line2" headerText="56 Address Line 2"/>
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.customer.headquarterAddress.city.name" headerText="57 City" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.customer.headquarterAddress.state.name" headerText="58 State" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.customer.headquarterAddress.country.name" headerText="59 Country"/>
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.customer.annualRevenue" headerText="60 Annual Revenue" textAlign="right" headerAlign="center" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.customer.numEmployees" headerText="61 Num Employees" textAlign="right" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.customer.earningsPerShare" headerText="62 EPS" textAlign="right" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.customer.lastStockPrice" headerText="63 Stock Price" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="id" headerText="64 ID" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="lineItemDescription" headerText="65 Line Item Description" width="200" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="lineItemAmount" headerText="66 Line Item Amount" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.invoiceNumber" headerText="67 Invoice Number" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.invoiceAmount" headerText="68 Invoice Amount" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.invoiceStatus.name" headerText="69 Invoice Status" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.dealDescription" headerText="70 Deal" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.invoiceDate" headerText="71 Invoice Date" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.dueDate" headerText="72 Due Date" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.dealDescription" headerText="73 Deal" width="200"/>
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.dealStatus.name" headerText="74 Deal Status" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.customer.legalName" headerText="75 Customer" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.customer.headquarterAddress.line1" headerText="76 Address Line 1" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.customer.headquarterAddress.line2" headerText="77 Address Line 2"/>
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.customer.headquarterAddress.city.name" headerText="78 City" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.customer.headquarterAddress.state.name" headerText="79 State" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.customer.headquarterAddress.country.name" headerText="80 Country"/>
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.customer.annualRevenue" headerText="81 Annual Revenue" textAlign="right" headerAlign="center" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.customer.numEmployees" headerText="82 Num Employees" textAlign="right" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.customer.earningsPerShare" headerText="83 EPS" textAlign="right" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.customer.lastStockPrice" headerText="84 Stock Price" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="id" headerText="85 ID" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="lineItemDescription" headerText="86 Line Item Description" width="200" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="lineItemAmount" headerText="87 Line Item Amount" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.invoiceNumber" headerText="88 Invoice Number" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.invoiceAmount" headerText="89 Invoice Amount" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.invoiceStatus.name" headerText="90 Invoice Status" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.dealDescription" headerText="91 Deal" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.invoiceDate" headerText="92 Invoice Date" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.dueDate" headerText="93 Due Date" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.dealDescription" headerText="94 Deal" width="200"/>
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.dealStatus.name" headerText="95 Deal Status" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.customer.legalName" headerText="96 Customer" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.customer.headquarterAddress.line1" headerText="97 Address Line 1" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.customer.headquarterAddress.line2" headerText="98 Address Line 2"/>
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.customer.headquarterAddress.city.name" headerText="99 City" />
                    <nestedtreedatagrid:FlexDataGridColumn dataField="invoice.deal.customer.headquarterAddress.state.name" headerText="100 State" />
                
                
                </nestedtreedatagrid:columns>
            </nestedtreedatagrid:FlexDataGrid>
        </mx:HBox>
    </mx:VBox>
</mx:HBox>