2010-02-26 4 views
0

Est-il possible de contrôler les propriétés de 'advancedgridcolumns' dans la balise mxml 'advanceddatagrid'. Par exemple Supposons que le fournisseur de données de la grille possède 3 champs différents. Sur ces 3 champs, un champ est 'to_be_decided'. Ce champ ne doit pas être affiché initialement. Seules les 2 colonnes restantes doivent être affichées (visible vrai) et la troisième colonne (une avec le champ de données comme 'to_be_decided', le drapeau visible sera faux ici) doit être masquée. Il sera visible lorsque certains événements comme un clic sur un bouton ou quelque chose est déclenché.GRILLE DE DONNÉES AVANCÉE: Définition des propriétés des colonnes individuelles dans la grille mxml

Nous pouvons le faire en codant le script d'action en accédant à des colonnes individuelles de la grille et en prenant les mesures appropriées. Mais sera-t-il possible de le faire en mxml? Y a-t-il une propriété par défaut dans la grille qui peut être utilisée ici?

En mxml je ne peux pas y accéder individuellement dans la grille (sous étiquette) et donc je ne peux pas définir les attributs visibles individuellement pour chacun d'entre eux. Pour les ajouter un par un dans les balises 'columns' je serais obligé de connaître le champ de données dans la collection de tableau et que je ne connais pas. Seul le champ de données connu est 'to_be_decided', reste deux champs varieront de temps en temps. Par conséquent, même si je rajoute celui-ci gridcolumn dans 'columns' tag, qu'en est-il des deux autres?

Quelque chose comme ceci:

<mx:columns> 
     <mx:AdvancedDataGridColumns dataField='to_be_decided' visible=false> 
     <!-- How to add other 2 columns here ? --> 
</mx:columns> 

Toutes les suggestions/idées à cet égard?

Si je n'ai pas réussi à me dégager s'il vous plaît laissez-moi savoir, je vais essayer de recadrer ma question. Merci d'avance.

Répondre

1

Vous pouvez essayer

<mx:columns> 
    <mx:Repeater id="rp" dataProvider="{yourArrayCollection}"> 
     <mx:AdvancedDataGridColumns dataField="{rp.currentItem.fieldName}" visible="{rp.currentItem.show}"> 
    </mx:Repeater> 
</mx:columns> 

où votre fournisseur de données (yourArrayCollection) est un ArrayCollection d'objets ayant des propriétés "fieldName" (String) et "show" (Boolean).

Questions connexes