<?xml version="1.0" encoding="utf-8"?>
<mx:HBox 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.controls.DateComboBox;
import com.flexicious.controls.DateField;
import com.flexicious.example.model.billing.LineItem;
import com.flexicious.example.utils.ExampleUtils;
import com.flexicious.nestedtreedatagrid.valueobjects.RowPositionInfo;
import com.flexicious.utils.UIUtils;
import mock.FlexiciousMockGenerator;
import mx.collections.ArrayCollection;
import mx.collections.XMLListCollection;
import mx.controls.DateField;
import mx.events.FlexEvent;
import pdf.AlivePdfGenerator;
protected function hbox1_creationCompleteHandler(event:FlexEvent):void
{
var xml:XMLListCollection=new XMLListCollection(new XMLList(<root>
<book>
<id>bk101</id>
<author>Gambardella, Matthew</author>
<title>XML Developer's Guide</title>
<genre>Computer</genre>
<price>44.95</price>
<publish_date>2011-10-01</publish_date>
<description>An in-depth look at creating applications with XML</description>
</book>
<book>
<id>bk102</id>
<author>Ralls, Kim</author>
<title>Midnight Rain</title>
<genre>Fantasy</genre>
<price>5.95</price>
<publish_date>2011-12-16</publish_date>
<description>A former architect battles corporate zombies, an evil sorceress, and her own childhood to become queen of the world.</description>
</book>
<book >
<id>bk103</id>
<author>Corets, Eva</author>
<title>Maeve Ascendant</title>
<genre>Fantasy</genre>
<price>5.95</price>
<publish_date>2011-11-17</publish_date>
<description>After the collapse of a nanotechnology society in England, the young survivors lay the foundation for a new society.</description>
</book>
<book >
<id>bk104</id>
<author>Corets, Eva</author>
<title>Oberon's Legacy</title>
<genre>Fantasy</genre>
<price>5.95</price>
<publish_date>2011-03-10</publish_date>
<description>In post-apocalypse England, the mysterious agent known only as Oberon helps to create a new life for the inhabitants of London. Sequel to Maeve Ascendant.</description>
</book>
<book >
<id>bk105</id>
<author>Corets, Eva</author>
<title>The Sundered Grail</title>
<genre>Fantasy</genre>
<price>5.95</price>
<publish_date>2011-09-10</publish_date>
<description>The two daughters of Maeve, half-sisters, battle one another for control of England. Sequel to Oberon's Legacy.</description>
</book>
<book id="bk106">
<id>bk106</id>
<author>Randall, Cynthia</author>
<title>Lover Birds</title>
<genre>Romance</genre>
<price>4.95</price>
<publish_date>2011-09-02</publish_date>
<description>When Carla meets Paul at an ornithology conference, tempers fly as feathers get ruffled</description>
</book>
<book >
<id>bk107</id>
<author>Thurman, Paula</author>
<title>Splish Splash</title>
<genre>Romance</genre>
<price>4.95</price>
<publish_date>2011-11-02</publish_date>
<description>A deep sea diver finds true love twenty thousand leagues beneath the sea</description>
</book>
<book >
<id>bk108</id>
<author>Knorr, Stefan</author>
<title>Creepy Crawlies</title>
<genre>Horror</genre>
<price>4.95</price>
<publish_date>2011-12-06</publish_date>
<description>An anthology of horror stories about roaches, centipedes, scorpions and other insects</description>
</book>
<book >
<id>bk109</id>
<author>Kress, Peter</author>
<title>Paradox Lost</title>
<genre>Science Fiction</genre>
<price>6.95</price>
<publish_date>2011-11-02</publish_date>
<description>After an inadvertant trip through a Heisenberg Uncertainty Device, James Salway discovers the problems of being quantum</description>
</book>
<book id="bk110">
<id>bk110</id>
<author>OBrien, Tim</author>
<title>Microsoft NET: The Programming Bible</title>
<genre>Computer</genre>
<price>36.95</price>
<publish_date>2011-12-09</publish_date>
<description>Microsofts NET initiative is explored in detail in this deep programmers reference</description>
</book>
<book >
<id>bk111</id>
<author>OBrien, Tim</author>
<title>MSXML3: A Comprehensive Guide</title>
<genre>Computer</genre>
<price>36.95</price>
<publish_date>2011-12-01</publish_date>
<description>The Microsoft MSXML3 parser is covered in detail, with attention to XML DOM interfaces, XSLT processing, SAX and more</description>
</book>
<book >
<id>bk112</id>
<author>Galos, Mike</author>
<title>Visual Studio 7: A Comprehensive Guide</title>
<genre>Computer</genre>
<price>49.95</price>
<publish_date>2011-04-16</publish_date>
<description>Microsoft Visual Studio 7 is explored in depth, looking at how Visual Basic, Visual C++, C, and ASP+ are integrated into a comprehensive development environment</description>
</book></root>
).children());
grid.dataProvider=xml;
}
public function convertDate(item:Object,col:Object):Date{
var dt:String = UIUtils.resolveExpression(item,col.dataField).toString();
var date:Date=mx.controls.DateField.stringToDate(dt,"YYYY-MM-DD");
return date;
}
public function dataGridFormatDateLabelFunction(item:Object, dgColumn:Object):String
{
var num:Object =UIUtils.resolveExpression(item,dgColumn.dataField);
var date:Date=convertDate(item,dgColumn);
return UIUtils.formatDate(date);
}
]]>
</fx:Script>
<fx:Declarations>
</fx:Declarations>
<nestedtreedatagrid:FlexDataGrid id="grid" width="100%" height="100%" enablePrint="true" enablePreferencePersistence="true"
enableExport="true" enableCopy="true" enableFilters="true"
pdfBytesReady="new AlivePdfGenerator().generate(event.target as FlexDataGrid ,event.printOptions)"
enableFooters="true" initialSortField="title"
initialSortAscending="true" forcePagerRow="true"
variableRowHeight="true"
>
<nestedtreedatagrid:columns>
<nestedtreedatagrid:FlexDataGridColumn dataField="id" headerText="ID"
filterControl="TextInput" filterOperation="Contains" columnWidthMode="fitToContent"/>
<nestedtreedatagrid:FlexDataGridColumn dataField="title" headerText="Title" filterControl="TextInput" columnWidthMode="fitToContent" footerLabel="Count:" footerOperation="count" footerAlign="center"
filterOperation="Contains" />
<nestedtreedatagrid:FlexDataGridColumn dataField="genre" headerText="Genre" filterControl="MultiSelectComboBox" filterComboBoxBuildFromGrid="true" columnWidthMode="fitToContent"/>
<nestedtreedatagrid:FlexDataGridColumn dataField="price" headerText="Price" filterControl="NumericRangeBox" columnWidthMode="fixed" width="100" footerLabel="Avg:" footerOperation="average" footerAlign="center" footerOperationPrecision="2" footerFormatter="{ExampleUtils.globalCurrencyFormatter}"
labelFunction="UIUtils.dataGridFormatCurrencyLabelFunction"/>
<nestedtreedatagrid:FlexDataGridColumn dataField="publish_date" headerText="Publish Date" filterControl="DateComboBox"
columnWidthMode="fitToContent"
filterConverterFunction="convertDate"
labelFunction="dataGridFormatDateLabelFunction"/>
<nestedtreedatagrid:FlexDataGridColumn dataField="description" headerText="Description"
wordWrap="true"/>
</nestedtreedatagrid:columns>
</nestedtreedatagrid:FlexDataGrid>
</mx:HBox>