Apache Adobe Flex TutorialTutoriaux Adobe Flex & AIR en Français

20août/090

Flex AdvancedDataGrid – Utiliser un dataProvider XML (sous forme XMLList)

Dans les exemples sur les Flex AdvancedDataGrid, on utilisait un ArrayCollection car c'est assez pratique et compact pour notre donnée. Mais vous pouvez bien sur peupler votre dataProvider avec de la donnée XML, un retour XML serveur par exemple.

On va utiliser la classe HierarchicalData. En passant notre XML (XMLList en fait) dans le constructeur d'un HierarchicalData, la conversion se fera toute seule, comme si vous lui aviez donné un ArrayCollection.

Voici un exemple de code utilisant un XMLList pour peupler une AdvancedDataGrid:

<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
	<mx:Script>
	<![CDATA[
		import mx.collections.HierarchicalData;
		import mx.collections.XMLListCollection;
	]]>
	</mx:Script>
	<mx:XMLList id="dpHierarchyXML" >
		<Region Region="Southwest">
			<Region Region="Arizona">
				<Territory_Rep Territory_Rep="Barbara Jennings"
				Actual="38865" Estimate="40000"/>
				<Territory_Rep Territory_Rep="Dana Binn"
				Actual="29885" Estimate="30000"/>
			</Region>
			<Region Region="Central California">
				<Territory_Rep Territory_Rep="Joe Smith"
				Actual="29134" Estimate="30000"/>
			</Region>
			<Region Region="Nevada">
				<Territory_Rep Territory_Rep="Bethany Pittman"
				Actual="52888" Estimate="45000"/>
			</Region>
			<Region Region="Northern California">
				<Territory_Rep Territory_Rep="Lauren Ipsum"
				Actual="38805" Estimate="40000"/>
				<Territory_Rep Territory_Rep="T.R. Smith"
				Actual="55498" Estimate="40000"/>
			</Region>
			<Region Region="Southern California">
				<Territory_Rep Territory_Rep="Alice Treu"
				Actual="44985" Estimate="45000"/>
				<Territory_Rep Territory_Rep="Jane Grove"
				Actual="44913" Estimate="45000"/>
			</Region>
		</Region>
	</mx:XMLList>
	<mx:AdvancedDataGrid width="100%" height="100%"
		dataProvider="{new HierarchicalData(dpHierarchyXML)}">
		<mx:columns>
			<mx:AdvancedDataGridColumn dataField="@Region"
				headerText="Region"/>
			<mx:AdvancedDataGridColumn dataField="@Territory_Rep"
				headerText="Territory Rep"/>
			<mx:AdvancedDataGridColumn dataField="@Actual"
				headerText="Actual"/>
			<mx:AdvancedDataGridColumn dataField="@Estimate"
				headerText="Estimate"/>
		</mx:columns>
	</mx:AdvancedDataGrid>
</mx:Application>

Articles similaires

Commentaires (0) Trackbacks (0)

Aucun commentaire pour l'instant


Leave a comment

(required)

Aucun trackbacks pour l'instant