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

19août/094

Flex AdvancedDataGrid – Utiliser groupIconFunction pour déterminer l'icon d'un Tree

Vous pouvez utiliser la propriété groupIconFunction de la class AdvancedDataGrid pour donner un fonction de callback qui va définir l'icône affiché pour les groupes du navigation Tree. Vous pourrez ainsi modifier l'icône suivant la profondeur et le contenu du nœud.
L'exemple suivant utilise la propriété groupIconFunction pour afficher un icône personnalisé pour le noeud le plus haut du Tree. Pour les autres, on affiche l'icône par défaut:

<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
	<mx:Script>
		<![CDATA[
		import mx.collections.ArrayCollection;
		include "SimpleHierarchicalData.as";
		// Embed the icon for the groups.
		[Bindable]
		[Embed(source="assets/folder_go.png")]
		public var icn:Class;

		// Define the groupIconFunction callback function.
		public function myIconFunc(item:Object, depth:int):Class {
		if(depth == 1){
			// If this is the top-level of the tree, return the icon.
			return icn;
		}else{
			// If this is any other level, return null.
			return null;
		}
		}
	]]>
	</mx:Script>
	<mx:AdvancedDataGrid
		width="100%" height="100%"
		groupIconFunction="myIconFunc">
		<mx:dataProvider>
			<mx:HierarchicalData source="{dpHierarchy}"/>
		</mx:dataProvider>
		<mx:columns>
			<mx:AdvancedDataGridColumn dataField="Region"/>
			<mx:AdvancedDataGridColumn dataField="Territory_Rep"
			headerText="Territory Rep"/>
			<mx:AdvancedDataGridColumn dataField="Actual"/>
			<mx:AdvancedDataGridColumn dataField="Estimate"/>
		</mx:columns>
	</mx:AdvancedDataGrid>
</mx:Application>

Flex Source Code Download: Télécharger le code source complet de l'application

This movie requires Flash Player 11

Articles similaires

Commentaires (4) Trackbacks (0)
  1. Que retourner pour ne pas afficher d'icône puisque null affiche l'icône par défaut ?

  2. Hum effectivement je n'y avais pas pensé.
    Peut etre une Class qui ne contient rien ou un pixel transparent?

    Fabien

  3. Je cherche à modifier les icones des feuilles, mais dynamiquement, i.e en fonction des valeurs des feuilles, l'icone peut varier.
    Donc aller plus loin qu'un simple defaultLeafIcon.
    Des idées?
    Merci d'avance

  4. Salut,
    je pense qu'il faut que tu utilises un itemRenderer (tu auras ta valeur de feuille dans la propriété "data").
    Sinon, jette un oeil à la méthode setItemIcon() de AdvancedDataGrid

    Fabien


Leave a comment

(required)

Aucun trackbacks pour l'instant