2009-08-06 3 views
0

Je travaille sur un exemple de réseau en flex en utilisant un contrôle de réseau avancé. Je sais que nous pouvons facilement regrouper des données en spécifiant le nom du champ. Au niveau du noeud du groupe, autre que le nom du gorup, je veux être capable d'afficher les données dans le reste des cellules (données calculées) et je cherche un événement dataRowBound ou similaire pour pouvoir accrocher certaines données dedans.comment afficher les données au niveau du groupe dans la grille flexible avancée?

Exemple: Grille affichant la liste des villes regroupées par état. Au niveau du groupe (pour chaque état), je veux montrer le nombre total de villes dans chaque état. Ici, comment puis-je montrer le nombre total dans la colonne de la ville.

Répondre

1

Vous pouvez le faire en fournissant les données comme celui-ci

<trade TrdId="Trade 1 o" col="0xCC9999" cmenu="YNYNYNYNYNYNYNY" AgreementId="1234">   
<trade TrdId="Trade 1.1" col="0xCC9999" cmenu="YNYNYNYNYNYNYNY" AgreementId="1234">     
</trade>     
<trade TrdId="Trade 1.2"col="0xCC9999" cmenu="YYYYYYYYNYNYYYY" AgreementId="1234">    
</trade>     
</trade> 

et en ajoutant des colonnes qui lisent ces données comme

advancedDataGridColumn.dataField="@TrdId" 

ainsi de suite ...

protected override function drawRowBackground(s:Sprite, rowIndex:int, y:Number, height:Number, color:uint, dataIndex:int):void{ 
       var XMLdata:XML=rowNumberToData(dataIndex) as XML; 

       if(XMLdata!=null){   
         if(XMLdata.attribute(Constants.col) != undefined && XMLdata.attribute(Constants.col) != ""){ 
          color=XMLdata.attribute(Constants.col);   
         }else{ 
          color=0xFFFFFF; 
         }        
       }    
       super.drawRowBackground(s,rowIndex,y,height,color,dataIndex);   
     } 

c'est meilleure méthode pour obtenir des données hors de la grille et faire un peu de traitement ...

Questions connexes