Pas de soucis, à cela une solution simple : vous n'avez qu'à coder l'événement lookup du champ en question.
Voici un exemple de code que l'on pourrait mettre en place sur un champ de sélection d'un employé s'appuyant sur l'EDT EmplId :
public void lookup()
{
SysTableLookup sysTableLookup;
Query query = new Query();
QueryBuildDataSource qbds;
;
//Création du lookup
sysTableLookup=SysTableLookup::newParameters(tablenum(EmplTable),this);
//Ajout des champs à présenter dans le lookup
sysTableLookup.addLookupfield(fieldnum(EmplTable,EmplId));
sysTableLookup.addLookupfield(fieldnum(EmplTable,Name));
//Définition de la requête à utiliser par le lookup
qbds = query.addDataSource(tableNum(EmplTable));
qbds.addRange(fieldNum(EmplTable,Title)).value("Votre Valeur");
//Rattachement de la query au lookup
sysTableLookup.parmQuery(query);
//Affichage du lookup
sysTableLookup.performFormLookup();
}
Et voilà....vous obtiendrez le champ de sélection attendu avec les bonnes données dans la liste déroulante.
Aucun commentaire:
Enregistrer un commentaire