<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
verticalAlign="middle"
backgroundColor="white"
creationComplete="init();" viewSourceURL="srcview/index.html">
<mx:Script>
private var xmlDebug:XML;
private function init():void {
xmlDebug = describeType(targetObj);
xmlListColl.source = xmlDebug.accessor.(@declaredBy == xmlDebug.@name);
}
private function labelFunc(item:Object, col:DataGridColumn):String {
var value:Object = targetObj[item.@name];
if (value == null) {
return "(null)";
}
return value.toString();
}
</mx:Script>
<mx:XMLListCollection id="xmlListColl">
<mx:sort>
<mx:Sort>
<mx:fields>
<mx:SortField name="@name" />
</mx:fields>
</mx:Sort>
</mx:sort>
</mx:XMLListCollection>
<mx:VDividedBox width="100%" height="100%">
<mx:TextArea id="targetObj"
resize="init();" />
<mx:DataGrid id="dataGrid"
dataProvider="{xmlListColl}"
color="black"
width="100%"
height="100%">
<mx:columns>
<mx:DataGridColumn dataField="@access"
itemRenderer="RedLabel" />
<mx:DataGridColumn dataField="@name" />
<mx:DataGridColumn labelFunction="labelFunc"
headerText="value" />
</mx:columns>
</mx:DataGrid>
</mx:VDividedBox>
</mx:Application>