La procédure reprise ci-dessous permet d'ajouter un déroulant présentant les codes ISO des différents pays. Une fois la sélection effectuée, le libellé du pays est affiché et stocké dans le champ "pays". L'exemple est illustré pour la table des clients. Il peut s'appliquer aux fournisseurs, contacts, 4ème signalétique, ...
- Dans la table CLI de Mercator, ajouter un champ C_ISOPAYS de type char(2)
- Via l'onglet SQL de l'éditeur de code, exécutez une seule fois le script contenu dans isopays.sql.
- Via "Outils / Ecrans Signalétiques / Paramétrage / Clients" : retirer le textBox associé au champ PAYS
- A ce même endroit, ajouter un comboBox dont la source est C_ISOPAYS
- Dans la propriété SqlQuery de ce comboBox, saisissez la requête suivante : select id from ISOPAYS order by id
- Fixer une largeur de 50 pixels
- A droite de ce déroulant, placez une expression dont le code-source spécifique est : return currentExpression.Form.DataSource.Rows[0]["c_isopays"] == "" ? "" : MercatorController.xFunctions.xLookUpString("ISOPAYS", "ID", currentExpression.Form.DataSource.Rows[0]["c_isopays"], "lib_f").TrimEnd();
- Lier cette expression à la source C_PAYS
- Indiquer dans la propriété RefreshedBy de cette expression la valeur de la propriété Id du comboBox ajouté ci-dessus.
A télécharger :
0000002571.zip (4 Kb - 20/06/2016)