2010-08-31 3 views

Répondre

0

Je ne comprends pas vraiment cette exigence car le rich:pickList est dédié à faire une sélection de liste à partir d'une autre liste.

Idéalement, un composant comme <h:selectOneListbox> sera plus facile à utiliser dans votre cas.

Cependant, si vous vraiment devez utiliser le rich:pickList, je vous suggère d'utiliser le onlistchange événement Javascript. Cet événement est appelé lorsque la liste sera modifiée. Donc, ce que vous pouvez essayer est d'obtenir la taille de la liste sélectionnée, et si cette taille est égale à un (c'est-à-dire l'utilisation déjà sélectionnée d'un élément), vous renvoyez simplement false. Cela annulera normalement l'action effectuée par l'utilisateur (c'est-à-dire l'ajout d'un autre élément). Une autre idée, toujours basée sur l'utilisation de l'événement onlistchange (ou peut-être onlistchanged est préférable dans ce cas) est de désactiver les boutons lorsqu'un élément est ajouté dans la liste des éléments choisis.

La dernière idée est de faire la même chose que dans ma deuxième idée, mais en utilisant Ajax. Comme vous pouvez le voir sur le site Richfaces Live Demo, il existe un exemple d'utilisation de ce composant avec un panneau qui compte le nombre d'éléments sélectionnés. Vous pouvez donc essayer de désactiver les boutons d'addition lorsque ce compteur est égal à 1.

Questions connexes