Dans l'exercice précédent, vous avez lié le composant visuel employeesTable à l'objet de données lightEmployeeRecordRows renvoyé par la méthode getLightEmployeeRecords() du service Web. Vous devez maintenant remplir les zones de détails de l'application en les liant aux données de l'employé sélectionné dans la table.
Le JRowTableBinder qui a été utilisé lorsque vous avez lié la table à l'objet de données de lignes simplifie cette étape. Le JRowTableBinder expose l'élément sélectionné dans la table comme objet de données distinct, pouvant être utilisé comme paramètre de la méthode getFullEmployeeRecord(java.lang.Integer). Vous pouvez dès lors lier aisément chacune des zones de texte à la propriété correspondante dans l'objet de données selectedEmployeeRecord.
Par exemple, si l'enregistrement d'employé comprenait une photo ou un fichier joint, vous ne souhaiteriez certainement pas récupérer toutes les photos lors de l'extraction de la liste complète des employés pour alimenter la table. La méthode de service getLightEmployeeRecord est donc utilisée pour remplir la table, tandis que la méthode getFullEmployeeRecord sert à extraire l'enregistrement complet de l'employé sélectionné dans la table.
Procédez comme suit pour lier la zone Last name à la propriété lastName de l'objet de données selectedEmployeeRecord :
Pour lier les autres zones de détails de l'enregistrement d'employé, vous devez appliquer une procédure similaire à celle utilisée pour la zone Last name, mais vous n'avez pas besoin d'ajouter l'objet de données. Comme vous avez déjà ajouté l'objet de données selectedEmployeeRecord, vous n'avez plus qu'à lier chaque autre zone à la propriété correspondante de cet objet.
Zone | Propriété de l'objet de données selectedEmployeeRecord |
---|---|
lastNameField | lastName |
firstNameField | firstName |
idField | employeeID |
emailField | |
phoneField | phoneNum |
officeField | location.office |
buildingField | location.building |
siteField | location.site |
Lorsque vous avez fini de lier les zones de texte, la zone de conception doit ressembler à l'image suivante :
La zone Employee ID est désactivée (grisée) car sa propriété 'editable' a la valeur false. Cependant, par défaut, le lieur de zone de texte attribue la valeur true à cette propriété lorsque l'objet de données contient une valeur. Vous pouvez empêcher ce comportement afin que la zone demeure en lecture seule.