Comment remplir la partie droite de richfaces liste de choix?
Je suis à l'aide d'un Richfaces' liste de choix et je veux remplir le panneau de droite avec une liste de SelectItems de mon backing bean.
Remplissage de la gauche n'est pas un problème à partir de la sauvegarde de haricot, cependant, le côté droit est problématique.
C'est ce que j'ai actuellement
<h:outputText value="Roles" />
<rich:pickList showButtonsLabel="false">
<f:selectItems value="#{Bean.allRoles}" />
</rich:pickList>
EDIT:
J'ai donc des rôles de 'a', 'b', 'c' et 'd'.
L'utilisateur a des rôles 'a' et 'd', et donc 'a' et 'd' devrait être sur le panneau de droite et 'b' et 'c' doit être sur le panneau de gauche.
EDIT:
De plus amples explications.
J'ai trois listes pour l'utilisateur.
- Toutes les posible de rôles (a à d)
- Tous les rôles de l'utilisateur (a et d)
- Tous les rôles de l'utilisateur ne fait PAS partie de (b et c)
Toutes les listes ont le type de données ArrayList<SelectItem>
.
J'ai besoin de la capacité à déplacer des rôles entre le numéro de liste 1 et liste 2 et puis enregistrez le nouveau jeu de rôles. Je pensais que la liste de choix serait le meilleur richfaces objet pour le travail.
OriginalL'auteur Berek Bryan | 2009-05-08
Vous devez vous connecter pour publier un commentaire.
Vous voulez ce code:
et dans votre bean vous voulez:
Whenver vous voulez faire de rôles par défaut il suffit d'ajouter les rôles dans le chosenRoles array (par exemple dans le bean constructeur). De cette façon chosenRoles contient toujours les éléments sur le côté droit de la liste de choix, alors que les éléments sur le côté gauche sont pas dans le tableau.
Espérons que cette aide!
OriginalL'auteur Chris Dale
Il semble que j'ai trouvé la solution.
"#{aBean.rightSideValues}"
devrait point de la liste ou d'une matrice deobjets. Avec ces valeurs de droite
de la liste de sélection sera rempli.
#{aBean.leftSideValues}
devrait point à la liste de la SelectItemobjet.
UN AVIS -- SelectItem objet DOIT ÊTRE construit avec des objets de la
"#{aBean.rightSideValues}"
.Exemple.
Avis que SelectItem prend en premier argument et cet argument est la référence à la SomeObject. Dans les entrailles riche visages de comparer des objets de la
"#{aBean.rightSideValues}"
avec des objets de la#{aBean.leftSideValues}
avec l'aide de la méthodeSomeObject.equals()
OriginalL'auteur indegro
Si vous avez besoin d'autres valeurs que celles du texte, vous avez besoin de faire un convertisseur.
Voir http://programmingnutsandbolts.blogspot.com/2009/08/richfaces-picklist-converters.html
OriginalL'auteur Ivar Wedøe
Comme dans RF 4.3.3 et probablement plus tôt, aussi, vous avez aussi besoin de surcharger la méthode de hachage de votre modèle de classe (entity bean). Ainsi, seule la substitution de la méthode equals pour votre convertisseur n'est pas assez. La suite travaillé pour moi et mon PubThread entity bean.
OriginalL'auteur feder
Définir la valeur de la liste de choix pour un tableau de la valeur de la SelectItem.
Ce que vous commencer avec sur le côté droit sera alors fondamentalement juste la valeur par défaut de la liste de choix:
Désolé. Vous voulez vraiment être le valeur de la selectItem, pas la selectItem lui-même.
OriginalL'auteur Zack Marrapese