2011-09-23 1 views
1

J'utilise GWT 2.3. Dans mon application, j'utilise GWT Tree avec une case à cocher. Voici mon code pour créer arbreArbre GWT avec case à cocher: comment obtenir tous les éléments arborescents cochés?

formTree = new Tree(); 
         if (formList != null && formList.size() > 0) { 
          for (Form form : formList) { 
           TreeItem item = new TreeItem(new CheckBox(form.getName())); 
           formTree.addItem(item); 
          } 
         } 

Dans cet arbre, je me sers de case à cocher pour chaque élément de l'arborescence. maintenant sur un clic de bouton je veux tous les éléments de l'arbre vérifiés.Je ne reçois pas Comment puis-je obtenir tout l'élément de l'arbre sélectionné.Veuillez m'aider.Merci à l'avance.

Répondre

4

Je suggère étendre TreeItem pour servir l'objectif réel que vous avez l'intention ici: ont-il créer élément base case, qui vous permet d'accéder à la valeur de case à cocher. À l'heure actuelle, vous devez faire une boucle, sortir l'enfant de chacun, lancer la classe Checkbox, puis vérifier la propriété. Rien de tout cela n'est une bonne pratique, donc l'étendre est vraiment le seul moyen intelligent, efficace et efficient d'y aller.

Cela étant dit, voici comment vous pouvez le faire si vous vraiment dû:

for(int i = 0; i < tree.getItemCount(); i++) 
{ 
    TreeItem item = tree.getItem(i); 
    CheckBox itemCheckBox = (CheckBox)item.getWidget(); 
    boolean checkBoxValue = itemCheckBox.getValue().booleanValue(); 
    // do something w/ checkBoxValue... 
} 
Questions connexes