vaadin combobox élément de l'étiquette et de la valeur de l'élément
Je suis un nouveau Vaadin de l'utilisateur avec la JSF arrière-plan.Actuellement, je suis en train de mettre en œuvre un simple
zone de liste déroulante à l'aide de vaadin.Ce que je veux faire, c'est,en utilisant une Liste que le itemlist de la zone de liste déroulante,en montrant l'Exemple.champ description dans la zone de liste déroulante,et lorsque l'un des éléments sélectionnés à l'obtention de l'Exemple de l'objet/Exemple.id de la valeur.(comme nous le faisons en utilisant JSF itemLabel=exemple.description,itemValue=exemple/exemple.id propriétés de f:selectItems)
- actuellement, les id d'objet sont affichés dans la zone de liste déroulante comme (tw.com.tiri.City@d75415)
Vous devez vous connecter pour publier un commentaire.
c'est la Ville de la Vaadin de l'équipe. Vous pouvez le faire de plusieurs manières, mais en général, vous mettez de votre zone de liste déroulante comportement avec les setItemCaptionMode() méthode.
Cependant, assez proches de ce que vous essayez de faire est accompli avec l'exemple suivant:
Ici la BeanItemContainer enveloppe votre Pojo et utilise la réflexion pour l'accès des getters.
Acclamations.
Je suis aussi nouvelle pour vaadin donc je ne peux pas vous fournir une bonne solution, mais vous pouvez essayer et utiliser un objet wrapper par entrée et de remplacer les
toString()
méthode pour imprimer le nom de la ville.En plus que vous pouvez essayer et utiliser un
BeanContainer<String, City>
comme source de données pour cette zone de liste déroulante. La chaîne serait le nom de la ville/id.Il y a une façon plus élégante pour Enum class:
Autor:
Andris Lapinsh
https://vaadin.com/forum/#!/thread/280467/280466
Avec vaadin 8/java 8, vous pouvez utiliser:
ComboBox combo = new ComboBox("Exemple", objets);
combo.setItemCaptionGenerator(exemple -> exemple.getDescription());