Remplissage dynamique d’une liste déroulante ou d’une zone de liste

vous pouvez remplir une liste déroulante ou une zone de liste de manière dynamique à l’aide de valeurs issues d’une source de données.

Si vous disposez d’un ensemble de valeurs prédéterminé et immuable, vous pouvez remplir une liste déroulante ou une zone de liste lors de la conception du formulaire. Voir Utilisation des listes déroulantes et des zones de liste. Si vous disposez d’un ensemble de valeurs pouvant être modifié, vous pouvez remplir de façon dynamique une liste déroulante ou une zone de liste à partir d’une source de données au moment de l’exécution. Si vous disposez d’un ensemble de valeurs important, il est préférable de l’enregistrer dans une source de données afin d’attribuer plus de souplesse au formulaire.

Vous pouvez par exemple remplir une liste déroulante à l’aide d’une liste de pays issue d’une source de données. Autre exemple : vous pouvez remplir une zone de liste de noms de produits français en soumettant des valeurs de données anglaises à la source de données.

Par exemple, les éléments suivants peuvent être définis pour une liste pour le schéma auquel vous vous connectez :

<form> 
      <lists> 
         <item uiname="item1" token="value1"/> 
         <item uiname="item2" token="value2"/> 
      </lists> 
</form>

Et les éléments suivants peuvent être définis pour une liste pour le fichier de données sur lequel vous pointez :

<form> 
      <lists> 
         <item uiname="MasterCard" token="MC"/> 
         <item uiname="Visa" token="VS"/> 
         <item uiname="Eurocard" token="EC"/> 
         <item uiname="Special Card" token="SC"/> 
      </lists> 
</form>

Lorsque vous fusionnez le fichier de données avec la conception de formulaire, MasterCard devrait apparaître parmi les options de la liste, mais lorsque le formulaire est transmis, le jeton MC est envoyé à la source de données.

Si vous disposez d’une connexion aux données OLE, vous pouvez utiliser l’objet de liste déroulante Données de la catégorie Personnalisés de la palette Bibliothèque d’objets pour remplir une liste déroulante ou une zone de liste à l’aide des données d’une colonne d’un tableau. Voir Remplissage dynamique d’une liste déroulante ou d’une zone de liste à partir d’une connexion aux données OLEDB.

Avant d’effectuer cette tâche, assurez-vous que les paramètres suivants sont appliqués :

  1. Dans la palette Bibliothèque d’objets, cliquez sur la catégorie Standard et faites glisser un objet Liste déroulante ou Zone de liste sur la conception de formulaire.

    Par exemple, insérez une liste déroulante.

  2. (Facultatif) Dans la palette Objet, cliquez sur l’onglet Champ et tapez une légende pour l’objet de la zone Légende.

    Par exemple, saisissez Carte de crédit.

  3. Effectuez l’une des opérations suivantes :

    • Cliquez sur le libellé actif Elém. liste dans le panneau Champ de la palette Objet.

    • Cliquez sur le libellé actif Valeurs élément dans le panneau Liaison de la palette Objet.

    Remarque : les libellés actifs Elém. liste et Valeurs élément affichent la même boîte de dialogue Propriétés dynamiques.
  4. Sélectionnez la connexion aux données.

    Remarque : Si vous n’êtes pas connecté à une source de données, Liaison des données par défaut est la seule sélection possible dans la liste Connexion aux données.
  5. Cliquez sur le triangle situé à côté de la liste Eléments et sélectionnez une liaison.

    La liaison que vous sélectionnez doit être une valeur ou un groupe de données qui se répète pour que la liste déroulante ou la zone de liste contienne plusieurs éléments.

    Par exemple, sélectionnez lists > item.

    La chaîne suivante apparaît dans la zone Eléments :

    $record.lists.item[*]

    Vous pouvez taper cette chaîne dans la zone Eléments au lieu de la sélectionner.
    Remarque : dans le cas des connexions de données OLE, la zone Eléments n’est pas disponible. Les zones Texte de l’élément et Valeur de l’élément vous permettent de sélectionner les colonnes de la base de données destinées à remplir la liste.
  6. Pour afficher un nom d’élément convivial au moment de l’exécution, cliquez sur le triangle situé à côté de la zone Texte de l’élément et sélectionnez une liaison.

    Par exemple, sélectionnez @uiname pour afficher MasterCard.

    Le fichier de données sur lequel vous pointez peut contenir une valeur de données qui se répète :

    <form> 
          <pymt> 
             <cc type="MC">MasterCard</cc> 
             <cc type="VS">Visa</cc> 
          </pymt> 
    </form>
    Remarque : Si vous sélectionnez #data, la liste déroulante contient MasterCard.
  7. (Facultatif) Pour enregistrer une autre valeur que le libellé Texte de l’élément dans la source de données, cliquez sur le triangle situé à côté de la zone Valeur de l’élément et sélectionnez une liaison.

    Par exemple, sélectionnez @token pour enregistrer MC dans le fichier de données.

    Le fichier de données sur lequel vous pointez peut contenir une valeur de données qui se répète :

    <form> 
          <pymt> 
             <cc type="MC">MasterCard</cc> 
             <cc type="VS">Visa</cc> 
          </pymt> 
    </form>
    Remarque : Si vous sélectionnez #data, la liste déroulante contient MC.
  8. Cliquez sur OK.

    Lorsqu’une liaison est définie, une petite icône représentant un lien apparaît avec le libellé actif.

  9. Affichez le formulaire dans le panneau Aperçu PDF.