Question

Laissez-moi vous expliquer la situation ...

dg.selectedItems me donne toutes les valeurs sélectionnées, mais si je besoin d'un nom de colonne seule valeur alors que dois-je faire.

<mx:DataGridColumn dataField="1" headerText="Email" />
Était-ce utile?

La solution

dg.selectedItems[itemIndex]["columnName"]

itemIndex = l'indice de l'élément sélectionné dans la matrice

Note: ceci est si vous avez allowMultipleSelection = true ... si vous êtes sélectionné un seul élément / ligne dg.selectedItem utiliser. Ceci renvoie un objet de toutes les colonnes.

Exemple Ajout de code de travail complet ci-dessous:

<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" >
   <mx:Script>
   <![CDATA[
    import mx.events.ListEvent;
    import mx.events.ItemClickEvent;
      import mx.collections.*;

      [Bindable]
      private var dp:ArrayCollection = new ArrayCollection( [
         {Artist:'Pavement', Album:'Slanted and Enchanted', Price:11.99},
         {Artist:'Pavement', Album:'Brighten the Corners', Price:12.99},
         {Artist:'Miley Cyrus', Album:'Break Out', Price:10.99}] );


       private function clickItemHandler(event:ListEvent):void{

            if(myGrid.selectedItem != null){
                trace(myGrid.selectedItem["Album"]);
            }

       }

   ]]>
   </mx:Script>

   <mx:DataGrid id="myGrid" width="350" height="200" 
      dataProvider="{dp}" itemClick="clickItemHandler(event);" >
      <mx:columns>
         <mx:DataGridColumn dataField="Album" />
         <mx:DataGridColumn dataField="Price" />
      </mx:columns> 
   </mx:DataGrid>
</mx:Application>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top