2010-01-05 7 views
0

J'ai une grille de données avec 5 colonnes. La première colonne a des cases à cocher et les quatre autres colonnes contiennent des données provenant du fournisseur de données. Premièrement: Je veux que la ligne soit sélectionnée lorsque je clique sur une case, ou si je clique sur plusieurs cases, chaque ligne doit rester sélectionnée dans la grille de données pour laquelle la case est cochée. Deuxièmement: Si une ligne ou plusieurs lignes sont sélectionnées, la case à cocher correspondante doit également être sélectionnée.Sélection d'une ligne sur la sélection de CheckBox dans Datagrid

Mon code est donné ci-dessous:

<mx:DataGrid id="dg_trashContent" allowMultipleSelection="true" 
        verticalGridLines="true" 
        dataProvider="{trashDataProvider}"      
        width="100%"       
        height="100%" 
        fontFamily="Arial">  
    <mx:columns> 
     <mx:DataGridColumn id="col0" 
          textAlign="left" 
          sortable="false" 
          headerText="Name" 
          headerStyleName="datagridHeader" 
          dataField="name"> 
        <mx:itemRenderer> 
         <mx:Component> 
          <mx:VBox horizontalAlign="center"> 
           <mx:Script source="base.as"/> 
           <mx:Script> 
            <![CDATA[ 
             import mx.controls.Alert;           
             public function selectRow():void{ 

             }           
            ]]> 
           </mx:Script> 
           <mx:CheckBox id="rowCheckBox" click="selectRow();"/> 
          </mx:VBox> 
         </mx:Component> 
        </mx:itemRenderer> 
     </mx:DataGridColumn> 
     <mx:DataGridColumn id="col1" 
          textAlign="left" 
          sortable="false" 
          headerText="Name" 
          headerStyleName="datagridHeader" 
          dataField="name"/> 
     <mx:DataGridColumn id="col2" 
          textAlign="left" 
          sortable="false" 
          headerText="Original Location" 
          headerStyleName="datagridHeader" 
          dataField="absoluteTag"/>           
     <mx:DataGridColumn id="col4" 
          textAlign="left" 
          sortable="false" 
          headerText="Date Deleted" 
          headerStyleName="datagridHeader" 
          dataField="date"/> 
     <mx:DataGridColumn id="col5" 
          textAlign="right" 
          sortable="false" 
          headerText="Size (mb)" 
          headerStyleName="datagridHeader" 
          dataField="size"/> 
    </mx:columns> 
</mx:DataGrid>   

J'ai essayé de comprendre comment dois-je le faire depuis un certain temps maintenant. Mais n'a pas pu trouver de solution. Quelqu'un peut-il m'aider?

Cordialement Zeeshan

Répondre

0

Je voudrais essayer 2 choses (si vous ne les avez pas essayé):

  1. Assurez-vous que l'indicateur "sélectionnable" est à true
  2. Lorsque vous cliquez sur la case à cocher - ajouter cet élément au tableau datagrids selectedItems

Espérons que cela aide.

Questions connexes