Handbuch · 3

Kind-Datensätze

Zeigt alle Zeilen einer anderen Tabelle an, die per Fremdschlüssel auf diese Zeile verweisen – als Liste, nicht als einzelner Wert. Die Umkehrung eines Fremdschlüsselfelds: dort zeigt die “Kind”-Zeile auf ihre eine “Eltern”-Zeile, hier zeigt die “Eltern”-Zeile alle ihre Kind-Zeilen auf einmal.

Praxisbeispiel: eine Rechnung soll ihre Rechnungspositionen als Liste zeigen – eine Spalte “Positionen” auf der Tabelle rechnungen, die alle passenden Zeilen aus rechnungs_items auflistet.

Für den Fall, dass nur ein aggregierter Wert über die Kind-Zeilen gebraucht wird (z. B. “Anzahl Positionen” oder “Summe aller Positionspreise”), reicht oft ein einfacheres Rollup-Feld. Ein Kind-Datensätze-Feld lohnt sich, wenn die einzelnen Zeilen selbst sichtbar sein sollen – in der Grid-Ansicht, als Liste im Formular oder in einem Dokument-Template.

Anlegen

Beim Hinzufügen einer neuen Spalte im Tab “Kind-Datensätze” wählst du:

  1. die Kind-Tabelle (irgendeine andere Tabelle derselben Datenquelle),
  2. deren Fremdschlüsselfeld, das auf diese Tabelle zurückverweist,
  3. die anzuzeigenden Spalten der Kind-Tabelle (Mehrfachauswahl – bleibt die Auswahl leer, werden alle echten Spalten der Kind-Tabelle angezeigt).

Ein Kind-Datensätze-Feld ist rein lesend: Zeilen lassen sich nicht direkt aus der Eltern-Zeile heraus hinzufügen oder entfernen – das würde bedeuten, das Fremdschlüsselfeld der Kind-Zeile zu ändern. Um eine Kind-Zeile hinzuzufügen, entfernen, oder ihre Werte zu bearbeiten, öffnest du sie über ihre eigene Tabelle oder per Klick (siehe unten).

Anzeige in der Grid-Ansicht

Eine Zelle zeigt immer ein Badge mit der Anzahl der gefundenen Kind-Zeilen, z. B. “3 Datensätze” – unabhängig davon, wie viele Spalten ausgewählt wurden, gibt es (anders als bei Links-Feldern) keine Inline-Ansicht als Chips, da mehrspaltige Kind-Zeilen dafür schlecht passen.

Ein Klick auf das Badge öffnet ein Modal mit einer schlichten Tabelle: eine Spalte je ausgewählter Kind-Spalte, eine Zeile je Kind-Datensatz. Ein Klick auf eine Zeile öffnet den vollständigen Datensatz der Kind-Tabelle zur Bearbeitung.

Summary-Aggregation

In der Summary-Fußzeile der Grid-Ansicht steht für eine Kind-Datensätze-Spalte nur COUNT zur Verfügung – das zählt die Gesamtzahl aller Kind-Zeilen über alle gerade angezeigten Eltern-Zeilen hinweg (nicht nur die Zeilenanzahl im Badge einer einzelnen Zeile). SUM, AVG, MIN und MAX gibt es für diesen Feldtyp nicht – für eine einzelne aggregierte Zahl über die Kind-Zeilen (z. B. eine Summe) ist ein Rollup-Feld die richtige Wahl.

In Dokument-Templates

Ein Kind-Datensätze-Feld lässt sich in einem Dokument-Template als iterierbare Liste verwenden, genau wie im Beispiel oben:

{% for item in positionen %}
  {{ item.bezeichnung }} -- {{ item.menge }} x {{ item.einzelpreis }}
{% endfor %}

Jeder Eintrag (item) trägt genau die Spalten, die beim Anlegen der Spalte ausgewählt wurden.

Verbindung nachträglich ändern

Über das Spalten-Kontextmenü → “Feld bearbeiten” lässt sich die Verbindung eines bestehenden Kind-Datensätze-Felds jederzeit anpassen, ohne die Spalte löschen und neu anlegen zu müssen. Im Bearbeiten-Modal erscheinen zusätzlich zu Feldname und Anzeigeformat vorausgewählte Dropdowns bzw. eine Mehrfachauswahl für:

  1. die Kind-FK-Spalte (Kind-Tabelle samt Fremdschlüsselfeld, das auf diese Tabelle zurückverweist),
  2. die anzuzeigenden Spalten der Kind-Tabelle (Mehrfachauswahl).

Beide lassen sich unabhängig voneinander ändern; ein Klick auf “Speichern” übernimmt die neue Verbindung sofort.

Bekannte Einschränkungen

  • Nicht filterbar (wie Rollup – Lookup und Links sind es).
  • Kein Limit pro Eltern-Zeile: alle passenden Kind-Zeilen werden geladen, auch bei sehr vielen.

Für den Fall, dass nur ein Wert der Ziel-Zeile in die andere Richtung gebraucht wird (Kind-Zeile schaut auf ihre Eltern-Zeile), siehe Lookup.