2010-05-29 5 views
0

J'ai une chechbox dans un gridview. J'ai besoin désactivé pour certaines conditions et activé pour d'autres. Le problème est de savoir comment récupérer l'identifiant de la case à cocher en dehors de la grille.activer/désactiver la case à cocher en fonction de certaines conditions

S'il vous plaît aider ....

+0

Pouvez-vous un peu de code? Est-ce MXML ou ActionScript? Quelle est la condition dont dépend la case à cocher? Plus de contexte serait utile. – bedwyr

Répondre

0

En vous donnant êtes la case à cocher un ID que vous devriez être en mesure de faire référence, peu importe ce conteneur, il est tout objet.

<mx:CheckBox id=myCheckbox ... /> 

peut alors être référencé dans un script dans ce fichier comme ceci:

private function toggleCheckBoxEnabled():void{ 
    if(some condition){ 
     myCheckBox.enabled = true; 
    }else{ 
     myCheckBox.enabled = false; 
    } 
} 
+0

pouvons-nous donner l'ID de la case à cocher si elle est à l'intérieur du moteur de rendu ??? il donne une erreur – Priya

+0

Attribuer un ID à l'intérieur d'un code de boucle tend à briser le concept d'un ID, car ils doivent être 100% uniques, il n'est donc pas bon de les placer dans un moteur de rendu. J'ai mal compris que c'était ce qui se passait depuis que vous avez dit gridview j'ai supposé une grille, quand vous avez voulu dire une grille de données. Je pense que sophistifunk a une réponse décente pour vous. Si cela ne fonctionne pas, vous devez vraiment poster un extrait de code pour que nous puissions voir ce que vous faites et ce que vous voulez faire. – invertedSpear

1
<?xml version="1.0" encoding="utf-8"?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:pw="http://intelligentpathways.com.au/Flex/v2"> 

    <mx:ArrayCollection id="ac"> 
     <mx:Object name="Alpha" enabled="{true}"/> 
     <mx:Object name="Bravo" enabled="{true}"/> 
     <mx:Object name="Charlie" enabled="{false}"/> 
     <mx:Object name="Delta" enabled="{false}"/> 
     <mx:Object name="Echo" enabled="{true}"/> 
    </mx:ArrayCollection> 

    <mx:Panel horizontalCenter="0" verticalCenter="0" title="Renderer Demo"> 
     <mx:DataGrid width="500" height="300" dataProvider="{ac}"> 
      <mx:columns> 
       <mx:DataGridColumn headerText="Name" dataField="name"/> 
       <mx:DataGridColumn headerText="Enabled?" dataField="enabled"/> 
       <mx:DataGridColumn headerText="Checkbox"> 
        <mx:itemRenderer> 
         <mx:Component> 
          <mx:Box paddingLeft="3"> 
           <mx:CheckBox label="Foxtrot" enabled="{data.enabled}"/> 
          </mx:Box> 
         </mx:Component> 
        </mx:itemRenderer> 
       </mx:DataGridColumn> 
      </mx:columns> 
     </mx:DataGrid> 
    </mx:Panel> 

</mx:Application> 
Questions connexes