Dynamisches Ausfüllen einer Dropdown-Liste oder eines Listenfeldes

Sie können eine Dropdown-Liste oder ein Listenfeld mit Werten aus einer Datenquelle dynamisch ausfüllen.

Wenn Sie einen vordefinierten, unveränderlichen Satz möglicher Werte haben, können Sie eine Dropdown-Liste oder ein Listenfeld im Verlauf des Formularentwurfs ausfüllen. Siehe Dropdown-Listen und Listenfelder verwenden . Mit einem Satz veränderlicher Werte in einer Datenquelle können Sie eine Dropdown-Liste oder ein Listenfeld während der Laufzeit dynamisch ausfüllen. Wenn Sie eine lange Liste mit Werten haben, profitieren Sie beim Speichern der Liste in einer Datenquelle von mehr Flexibilität für Ihr Formular.

Sie können beispielsweise eine Dropdown-Liste mit den Namen von Ländern aus der Liste in einer Datenquelle ausfüllen. Ein anderes Beispiel: Sie können ein Listenfeld mit französischen Produktnamen ausfüllen, aber die deutschen Datenwerte an die Datenquelle übermitteln.

Das Schema, zu dem Sie eine Verbindung herstellen, könnte beispielsweise die folgende Definition für eine Liste enthalten:

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

Die Datendatei, zu der Sie einen Verweis erstellen, könnte die folgende Definition für eine Liste enthalten:

<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>

Wenn Sie in diesem Beispiel die Datendatei mit dem Formularentwurf zusammenführen, sehen Sie MasterCard als eine der Optionen in der Liste. Bei Übermittlung des Formulars wird jedoch das Token MC an die Datenquelle gesendet.

Wenn Sie mit einer OLEDB-Datenverbindung arbeiten, können Sie das Daten-Dropdown-Listenobjekt oder das Datenlistenfeldobjekt aus der Kategorie „Eigene“ der Palette „Objektbibliothek“ verwenden, um eine Dropdown-Liste oder ein Listenfeld mit Daten aus einer Tabellenspalte zu füllen. Weitere Informationen finden Sie im Abschnitt Dynamisches Ausfüllen einer Dropdown-Liste oder eines Listenfeldes über eine OLEDB-Datenverbindung .

Bevor Sie diese Aufgabe ausführen, müssen Sie Folgendes sicherstellen:

  1. Klicken Sie in der Palette „Objektbibliothek“ auf die Kategorie „Standard“ und ziehen Sie eine Dropdown-Liste oder ein Listenfeld auf den Formularentwurf.

    Fügen Sie beispielsweise eine Dropdown-Liste ein.

  2. (Optional) Klicken Sie in der Palette „Objekt“ auf die Registerkarte „Feld“ und geben Sie im Feld „Beschriftung“ eine Beschriftung für das Objekt ein.

    Geben Sie beispielsweise Kreditkarte ein.

  3. Führen Sie einen der folgenden Schritte aus:

    • Klicken Sie in der Palette „Objekt“ auf der Registerkarte „Feld“ auf die aktive Beschriftung „Listenelemente“.

    • Klicken Sie in der Palette „Objekt“ auf der Registerkarte „Bindung“ auf die aktive Beschriftung „Elementwerte festlegen“.

    Hinweis: Um die Arbeit zu vereinfachen, wird sowohl mit der aktiven Beschriftung „Listenelemente“ als auch mit der aktiven Beschriftung „Elementwerte festlegen“ dasselbe Dialogfeld „Dynamische Eigenschaften“ aufgerufen.
  4. Wählen Sie die Datenverbindung aus.

    Hinweis: Falls noch keine Verbindung zu einer Datenquelle besteht, wird in diesem Listenfeld lediglich der Eintrag „Standarddatenbindung“ angezeigt.
  5. Klicken Sie auf das Dreieck neben dem Feld „Objekte“ und wählen Sie eine Bindung aus.

    Die ausgewählte Bindung sollte ein sich wiederholender Datenwert oder eine sich wiederholende Gruppe sein, damit die Dropdown-Liste bzw. das Listenfeld nicht nur ein Element enthält.

    Wählen Sie beispielsweise „lists“ > „item“ aus.

    Im Feld „Objekte“ wird die folgende Zeichenfolge angezeigt:

    $record.lists.item[*]

    Sie können diese Zeichenfolge alternativ auch direkt in das Feld „Objekte“ eingeben.
    Hinweis: Bei OLEDB-Datenverbindungen steht das Feld „Objekte“ nicht zur Verfügung. Verwenden Sie die Felder „Objekttext“ und „Objektwert“, um die Datenbasisspalten zum Ausfüllen der Liste auszuwählen.
  6. Damit zur Laufzeit eine benutzerfreundliche Beschriftung angezeigt wird, klicken Sie auf das Dreieck neben dem Feld „Objekttext“ und wählen Sie eine Bindung aus.

    Wählen Sie beispielsweise „@uiname“ aus, wenn „MasterCard“ angezeigt werden soll.

    Die Datendatei, zu der Sie einen Verweis erstellen, könnte einen sich wiederholenden Datenwert enthalten:

    <form> 
          <pymt> 
             <cc type="MC">MasterCard</cc> 
             <cc type="VS">Visa</cc> 
          </pymt> 
    </form>
    Hinweis: Wenn Sie „#data“ auswählen, wird in der Dropdown-Liste MasterCard angezeigt.
  7. (Optional) Wenn Sie in der Datenquelle einen anderen Wert als die Bezeichnung „Objekttext“ speichern möchten, klicken Sie auf das Dreieck neben dem Feld „Objektwert“ und wählen Sie eine Bindung aus.

    Wählen Sie beispielsweise „@token“ aus, wenn in der Datendatei „MC“ gespeichert werden soll.

    Die Datendatei, zu der Sie einen Verweis erstellen, könnte einen sich wiederholenden Datenwert enthalten:

    <form> 
          <pymt> 
             <cc type="MC">MasterCard</cc> 
             <cc type="VS">Visa</cc> 
          </pymt> 
    </form>
    Hinweis: Wenn Sie „#data“ auswählen, wird in der Dropdown-Liste MC angezeigt.
  8. Klicken Sie auf OK.

    Wenn eine Bindung festgelegt ist, wird ein kleines Verknüpfungssymbol mit der aktiven Beschriftung angezeigt.

  9. Zeigen Sie auf der Registerkarte „PDF-Vorschau“ eine Vorschau des Formulars an.