Parent / Child verwandte Listen

📚 Was sind Parent-/Child-bezogene Listen?

Dank der dynamischen Piping-Funktionen können Sie kaskadierende Listen erstellen, die dynamisch auf Grundlage der Auswahl in anderen Listen generiert werden.

In diesem Beispiel nehmen wir an, dass bereits eine Tabelle mit Unternehmen und Mitarbeitern vorhanden ist, und verwenden eine Liste dieser Unternehmen sowie eine Liste ihrer Mitarbeiter, um zu zeigen, wie beide verknüpft werden, um eine dynamische Parent-/Child-bezogene Liste zu erstellen.

1. Der Company SQL-Antworttyp

Zuerst müssen wir erstellen ein neues SQL Answer type für die Unternehmensliste, das alle Unternehmen aus der Datenbank und deren IDs abruft.

SELECT Id, Name FROM Company

Jetzt, da wir unsere Unternehmensliste haben, können wir hinzufügen diesen neu erstellten Antworttyp zu einer beliebigen Frage unseres Fragebogens. Sobald er hinzugefügt ist, öffnen Sie dessen Antwort-Eigenschaften und setzen dessen pipe alias-Eigenschaft auf: CompanyId

2. Der Employee SQL-Antworttyp

Nun müssen wir unseren Employee SQL answer item erstellen, das mit den Unternehmen verknüpft wird. Erstellen Sie dazu einen neuen answer sql type mit folgender Abfrage

SELECT Id, Name FROM Employee WHERE CompanyId = @CompanyId

Fügen Sie einen neuen SQL parameter mit Ihrem SQL answer type mit folgenden Parametern hinzu

  • name CompanyId, Wert: [[CompanyId]]

Als Nächstes hinzufügen diesen Employee SQL list answer type zu einer Ihrer Umfragefragen hinzu. ngSurvey wird während der Umfrage die Antwort mit einem pipe alias auslesen, das auf CompanyId gesetzt ist, und den vom Befragten eingegebenen/gewählten Wert als Parameter für die Employee-Abfrage verwenden. In unserem Beispiel werden so alle Mitarbeiter des in der anderen SQL-Liste ausgewählten Unternehmens abgerufen.

Wenn Sie die Liste nur anzeigen möchten, wenn tatsächlich Ergebnisse vorliegen, können Sie Hide on empty query results aktivieren, wodurch die Liste ausgeblendet wird, solange der Befragte keinen Wert in der Unternehmensliste ausgewählt hat.

Es gibt keine Begrenzung für die Anzahl der Listen, die miteinander verbunden werden können, und Sie können außerdem jeden anderen ngSurvey answer type, der value piping unterstützt, an Ihre Liste anbinden.

Zuletzt aktualisiert

War das hilfreich?