Vaadin zone de liste déroulante avec les valeurs et les Id

J'ai défini un ComboBox qui permet à l'utilisateur de sélectionner un contact à partir de sa liste de contacts. La zone de liste déroulante affiche le nom du contact, mais qui ne peut pas vraiment être utilisé pour mapper le contact réel: l'ID contact est nécessaire. Mon problème est que je ne sais pas comment faire pour remplir le Vaadin ComboBox associé à des valeurs et d'Id, mais seulement en montrant les valeurs.

//Add all organization contacts to the drop-down
for (Contact contact : organizationContacts) {
    contactName = contact.getName();
    contactId   = contact.getId();
    _logger.debug("Adding contactName=" + contactName + " contactId=" + contactId + " to person with id=" + personId);
    contactNameCombo.addItem(contactName);
}

//Add the contact of this person, and select it in the drop-down
contactName = person.getContact().getName();
contactId   = person.getContact().getId();
contactNameCombo.addItem(contactName);
contactNameCombo.setValue(contactName);

Comme vous pouvez le voir dans le code ci-dessus, je suis en ajoutant le contactName à la ComboBox, mais je ne sais pas comment ajouter également le contactId afin que je puisse connaître plus tard, à partir de l'entrée sélectionnée, l'ID doit être utilisé pour mettre à jour la base de données.

OriginalL'auteur dangonfast | 2012-05-30