I've wanted to bind all attributes (name and value) to a datagrid (see previous post about NuggViewer and BSP attributes). I'm didn't find an easy way to do it, so I used two "label Functions" (one for the name and another for the value). So, it gives something like:
Data:
<page APPLNAME="ZHRHAP_BSP_CE" PAGEKEY="BODY.DO" PAGENAME="body.do" AUTHOR="PTG76743" CREATEDON="20080708" CHANGEDBY="PTG76743" CHANGEDON="20080708" IMPLCLASS="CL_BSP_HAP_DOCUMENT_COH2" GENDATE="20080708" GENTIME="121613" PAGETYPE="C" CHANGETIME="120955" BROWSER_CACHE="0 " SERVER_CACHE="0 " LAYOUTLANGU="E" VERSION="A" DEVCLASS="$TMP" LANGU="E" DESCRIPT="Body Controller"/>
Flex code:
<mx:DataGrid dataProvider="{LV_XmlBSP_Page.@*}">
<mx:columns>
<mx:DataGridColumn headerText="Name" labelFunction="Lbl_Fction_AttrName" />
<mx:DataGridColumn headerText="Attribute" labelFunction="Lbl_Fction_AttrValue" />
</mx:columns>
</mx:DataGrid>
//------------------------------------------------------------------------------------------------
// Label function to display value and name of XML attributes
//------------------------------------------------------------------------------------------------
private function Lbl_Fction_AttrName(obj_data:XML, obj_dataGridColumn:DataGridColumn):String
{
return obj_data.name();
}
private function Lbl_Fction_AttrValue(obj_data:XML, obj_dataGridColumn:DataGridColumn):String
{
return obj_data.toXMLString();
}