12.7 Listes déroulantes sur inclusion multiple

12.7.1        Nomenclature sur insertion multiple

Contrairement aux contrôles basés sur un champ de type Nomenclature, le contrôle Nomenclature sur insertion multiple affiche une liste d’élément provenant d’une Inclusion multiple sous la forme d’une liste déroulante. Ce contrôle permet d’afficher une liste dont les éléments sont ajoutés dynamiquement par le développeur à l’exécution du formulaire (à la création, édition, ou dans une fonction particulière).

Ce contrôle doit être paramétré suivant les propriétés suivantes :

Valeur des items Correspond au champ de type Inclusion multiple stockant la liste des éléments à afficher dans le contrôle.
Valeur de la clé Détermine la position (index) de l’élément sélectionné par l’utilisateur dans la liste. Un champ de type Nombre entier doit être assigné à cette propriété.
Champ du texte Détermine le champ de l’inclusion multiple sélectionnée dans la propriété Valeur des items devant être affiché dans la liste déroulante. Ce champ doit être de type Texte.

 

Le champ de type Inclusion multiple lié à la propriété Valeur des items est généralement rempli dans le code distant du formulaire. Voir le chapitre [13.4.4] pour plus d’informations.

Pour accéder à l’élément sélectionné par l’utilisateur, il est nécessaire de créer une fonction locale appelée sur la propriété OnItemSelected du contrôle. Dans cette fonction, il est possible de récupérer la valeur d’un champ de l’élément sélectionné via l’outil Obtenir un élément d’inclusion de l’éditeur d’expression. Il suffit d’utiliser le champ attribué à la propriété Valeur de la clé du contrôle en guise d’index.

Il est aussi possible d’afficher une indication à l’utilisateur lorsqu’aucun élément n’est sélectionné via la propriété Indications de saisie.

Dans l’exemple ci-dessous, la fonction « SurSelectionDiagnostic » est attribué à la propriété OnItemSelected du contrôle. Le champ « diagnostics » de type Inclusion multiple est assigné à la propriété Valeur des items. Le champ « index_selectionne » de type Nombre entier est assigné à la propriété Valeur de la clé. Lorsqu’un utilisateur sélectionne un élément dans le contrôle, la valeur du champ « texte » du diagnostic sélectionné est affiché à l’utilisateur dans une fenêtre.

12.7.2        Nomenclature autocomplétion

Le fonctionnement du contrôle Nomenclature autocomplétion est proche de celui du contrôle Nomenclature sur insertion multiple. Comme ce dernier, celui-ci s’appuie sur un champ de type Inclusion multiple pour afficher des éléments. En revanche, si le nombre d’éléments de la liste est important, il est possible de modifier les éléments de cette liste en fonction du texte tapé dans le contrôle, à la manière d’une barre de recherche.

Ce contrôle doit être paramétré suivant les propriétés suivantes :

Valeur des items

Correspond au champ de type Inclusion multiple stockant la liste des éléments à afficher dans le contrôle.

Valeur du texte

Correspond au champ de type Texte stockant le texte tapé par l’utilisateur à rechercher.

Valeur de la clé

Détermine la position (index) de l’élément sélectionné par l’utilisateur dans la liste. Un champ de type Nombre entier doit être assigné à cette propriété.

Champ du texte

Détermine le champ de l’inclusion multiple sélectionnée dans la propriété Valeur des items devant être affiché dans la liste déroulante. Ce champ doit être de type Texte.

 

Lorsque l’utilisateur tape du texte dans le contrôle, la fonction assignée à la propriété OnSearchLaunched est exécutée. Cette fonction est généralement assignée à une Fonction distante dans laquelle le développeur ajoute des éléments au champ de type Inclusion multiple lié à la propriété Valeur des items. Voir le chapitre [13.4.4] pour plus d’informations.

Pour accéder à l’élément sélectionné par l’utilisateur, il est nécessaire de créer une fonction locale appelée sur la propriété OnItemSelected du contrôle. Dans cette fonction, il est possible de récupérer la valeur d’un champ de l’élément sélectionné via l’outil Obtenir un élément d’inclusion de l’éditeur d’expression. Il suffit d’utiliser le champ attribué à la propriété Valeur de la clé du contrôle en guise d’index.

Après la sélection d’un élément, seul l’élément sélectionner doit être conservé dans l’inclusion. A l’aide de la fonction OnItemSelected, déclencher une fonction qui va supprimer tous les éléments de l’inclusion, sauf celui sélectionné par l’utilisateur.

 

Il est aussi possible d’afficher une indication à l’utilisateur lorsqu’aucun élément n’est sélectionné via la propriété Indications de saisie.

 

 

 

 

 

Was this article helpful?

Related Articles

Poster un commentaire

Vous devez être connecté pour pouvoir poster un commentaire.