<?xml version="1.0" encoding="utf-8"?>
<mx:Application name="DataGrid_dataProvider_XML_test2"
xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
verticalAlign="middle"
backgroundColor="white" viewSourceURL="srcview/index.html">
<mx:Script>
<![CDATA[
import mx.controls.dataGridClasses.DataGridColumn;
import mx.utils.ObjectUtil;
private function labelFunc(item:XML, col:DataGridColumn):String {
return item.name();
}
private function nameSortCompareFunc(itemA:XML, itemB:XML):int {
return ObjectUtil.stringCompare(dataGridCol1.itemToLabel(itemA), dataGridCol1.itemToLabel(itemB), true);
}
private function typeSortCompareFunc(itemA:XML, itemB:XML):int {
return ObjectUtil.numericCompare(itemA.@type, itemB.@type);
}
]]>
</mx:Script>
<mx:XML id="xmlDP" source="data/log.xml" />
<mx:DataGrid id="dataGrid"
dataProvider="{xmlDP.children()}"
verticalScrollPolicy="on">
<mx:columns>
<mx:DataGridColumn id="dataGridCol1"
headerText="Name"
labelFunction="labelFunc"
sortCompareFunction="nameSortCompareFunc"
width="80"/>
<mx:DataGridColumn id="dataGridCol2"
dataField="@type"
headerText="Type"
sortCompareFunction="typeSortCompareFunc"
width="50" />
<mx:DataGridColumn id="dataGridCol3"
dataField="@message"
headerText="Message"
width="200" />
</mx:columns>
</mx:DataGrid>
</mx:Application>