Vous consultez une page technique concernant le logiciel de gestion Mercator. Celle-ci contient des informations spécifiques destinées aux professionnels de Mercator. Souhaitez-vous être redirigés vers des informations plus générales ?


   Ne plus poser cette question

Ecrans personnalisables : déroulants (comboBox)

0000002011     -      26/03/2018

Lorsque l'on associe un déroulant (comboBox) à une source, Mercator vérifie si cette source est associée à une liste d'éléments standards : par exemple la source S_ID_RAYON est associée à la table des RAYONS. Si tel est le cas, il n'est pas possible de personnaliser cette liste. Par contre, si le déroulant est associé à un champ libre, il est possible de spécifier une requête SQL (propriété SqlQuery) qui permet de déterminer les éléments du déroulant.

Si cette requête extrait un seul champ, celui-ci est utilisé tant pour le DisplayMember (valeur visible dans le déroulant) que pour le ValueMember (valeur stockée dans la base de données). Si cette requête renvoie 2 colonnes, la première colonne est utilisée comme DisplayMember et la seconde comme ValueMember. Les types de ValueMember gérés sont :

  • String
  • Int16 (venant de Integer dans la DB SQL)
  • Byte (venant de TinyInt dans la DB SQL)

Pour déterminer que la liste des options provient d'une liste fixe, on peut aussi placer une chaîne XML dans la propriété SqlQuery. Cette chaîne peut être du type :

  • <items>Elément1,Elément2,Elément3</items> : dans ce cas, DisplayMember = ValueMember
     
  • <items>
        <item1>ID1</item1><item2>Elément1</item2>
        <item1>ID2</item1><item2>Elément2</item2>
    </items> :
    • L'élément ValueMember est délimité par <item1></item1>
    • L'élément DisplayMember est délimité par <item2></item2>

Dans le cas d'une liste fixe, le champ correspondant dans la base de données doit toujours être de type char.

 

Pour plus d'informations concernant les déroulants et l'intégrité des données : voir cette page

 

Mots clés : liste déroulante fermée