Binding XML attribute to a DataGrid column
by krishna
Most binding examples work with a flat XML structure. However, in most cases the format of the data attribute will not work directly with Flex components. I was looking for a way to bind XML attributes to a DataGrid in Flex.
XML:
<Vehicles>
<Vehicle id=”1″ status=”SUCCESS”>
<car type=”ford”>my car</car>
</Vehicle>
<Vehicle id=”2″ status=”SUCCESS” />
</Vehicles>
MXML code:
<?xml version=”1.0″ encoding=”utf-8″?>
<mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml” layout=”absolute”>
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.controls.Alert;
import mx.collections.XMLListCollection;
[Bindable]
private var respStr:String = “<Vehicles><Vehicle id=”1″ status=”SUCCESS”><car type=”ford”>my veh</car></Vehicle><Vehicle id=”2″ status=”SUCCESS” /></Vehicles>”;
[Bindable]
private var xmlObj:XML
private function LoadData():void {
xmlObj = new XML(respStr);
dGrid.dataProvider = xmlObj.Vehicle;
}
private function carType(item:Object, column:DataGridColumn):String {
if (item.car.@type == undefined)
{return null;}
else
{return item.car.@type;}
}
]]>
</mx:Script>
<mx:DataGrid x=”76″ y=”104″ id=”dGrid”>
<mx:columns>
<mx:DataGridColumn headerText=”ID” dataField=”@id”/>
<mx:DataGridColumn headerText=”Status” dataField=”@status”/>
<mx:DataGridColumn headerText=”Value” dataField=”car”/>
<mx:DataGridColumn headerText=”Type” labelFunction=”carType”/>
</mx:columns>
</mx:DataGrid>
<mx:Button label=”Load Data” click=”LoadData()” />
</mx:Application>
Most binding examples work with a flat XML structure. However, in most cases the format of the data attribute will not work directly with Flex components. I was looking for a way to bind XML attributes to a DataGrid in Flex. XML: <Vehicles> <Vehicle id=”1″ status=”SUCCESS”> <car type=”ford”>my car</car> </Vehicle> <Vehicle id=”2″ status=”SUCCESS” />…
Recent Comments
Archives
- August 2025
- July 2025
- June 2025
- May 2025
- April 2025
- March 2025
- November 2024
- October 2024
- September 2024
- August 2024
- July 2024
- June 2024
- May 2024
- April 2024
- March 2024
- February 2024
- January 2024
- December 2023
- November 2023
- February 2012
- January 2012
- December 2011
- October 2011
- August 2011
- July 2011
- May 2011
- January 2011
- November 2010
- October 2010
- September 2010
- July 2010
- April 2010
- March 2010
- February 2010
- January 2010
- December 2009
- October 2009
- September 2009
- August 2009
- July 2009
- June 2009
- May 2009
- April 2009
- March 2009
- February 2009
- January 2009
- December 2008
- November 2008
- October 2008
- August 2008
- July 2008
- June 2008
- December 2007
- April 2007
- January 2007