table
Diese Komponente stellt eine Tabelle dar.
Konfiguration
Für allgemeine Konfigurations-Optionen siehe Allgemeine Komponenten Konfiguration.
Spezifische Konfiguration
type("table")-
Typ der Komponente.
cellEditing(boolean)-
Aktivierung/Deaktivierung des Editierens von Zellen. Je nach Spaltentyp wird entsprechender Zelleneditor angeboten.
columns(array<Column>)-
Konfiguration der Spalten.
data(array | Binding)-
Angabe der Daten für die Tabelle. Es könnte eine Liste von Datensätzen sein oder ein Bind-String sein, um die Daten mit Daten im
statezu binden. rowEditing(boolean)-
Aktivierung/Deaktivierung des Editierens von Zeilen. Je nach Spaltentyp wird entsprechender Zellen- und Zeileneditor angeboten.
Allgemeine Konfiguration
Neben den für alle gültigen Konfigurationen, können optional folgende Konfigurationen gesetzt werden: disabled, label.
Individuelles Styling
Das visuelle Design von Tabellen wird primär über die globalen Variablen gesteuert. Für spezifische Abweichungen kann gezielt CSS eingesetzt werden.
Über das Attribut cls können eigene CSS-Regeln angewendet werden.
Die Komponente bietet dafür folgende Standard-Angriffspunkte:
.table/.table .columns-
Styles für den Container der Tabelle. Diese werden auf die Rest-Fläche angewendet, die nicht von den Zeilen der Tabelle gefüllt ist.
.table-label/.table .label-
Direkter Zugriff auf das Label des Containers. Im Fall von
.labelwerden automatisch die Labels der Spalten mit angepasst. .table-label div-
Zugriff auf die Schrift des Labels.
Spaltenkonfiguration
Spalten sind Teil einer Tabelle und können nur in dieser existieren. Der Typ einer Spalte entspricht nicht dem allgemeinem Typ, sondern einem eigenem Spaltentyp.
Spezifische Konfiguration
fieldName(string)-
Name des Feldes im Datensatz, aus dem der Wert der Spalte gezogen werden soll.
format(string)-
Format, in dem die Werte der Spalte angezeigt werden sollen. Beispielsweise
"0"um einenumber-Spalte als Integer anzuzeigen. type(enum<"boolean" | "date" | "number" | "text">)
Allgemeine Konfiguration
Neben den für alle gültigen Konfigurationen, können optional folgende Konfigurationen gesetzt werden: disabled, label.
readOnly ist verfügbar, sofern type "date", "number" oder "text" ist.
Individuelles Styling
Das visuelle Design der Tabellenspalten wird primär über die globalen Variablen gesteuert. Für spezifische Abweichungen kann gezielt CSS eingesetzt werden.
Über das Attribut cls können eigene CSS-Regeln angewendet werden.
Die Komponente bietet dafür folgende Standard-Angriffspunkte:
.table .column-label div/.table .label div-
Direkter Zugriff auf das Label der Spalte. Im Fall von
.labelwird automatisch das Label der Tabelle mit angepasst. Der Typ der Spalte kann als Prefix verwendet werden, um nur auf Spalten mit diesem typ zuzugreifen (z. B..text-column-label). .table .cell-
Zugriff auf die Zellen der Tabelle. Der Typ der Spalte kann als Prefix verwendet werden, um nur auf Zellen mit diesem typ zuzugreifen (z. B.
.text-cell).
Eine Verwendung von .table .cell mit cellEditing oder rowEditing ist nicht empfohlen, da bei einer Bearbeitung die Zellen neu initialisiert werden und die notwendigen Klassen gelöscht werden.
|
Beispiel
{
"$schema": "https://forms.virtimo.net/5.0.x/schema.json",
"metaData": {
"version": 0,
"id": 0
},
"configuration": {},
"components": [
{
"type": "container",
"label": "Table Component Example",
"languageButton": true,
"components": [
{
"type": "table",
"label": "Table 1",
"data": "${/data/table/data}",
"height": 250,
"rowEditing": true,
"columns": [
{
"type": "text",
"label": "Text Column",
"fieldName": "t"
},
{
"type": "number",
"label": "Number Column",
"fieldName": "n"
}
]
},
{
"type": "table",
"label": "Table 2",
"data": [
{ "d": "20.11.2020", "bool": false },
{ "d": "12/31/2025", "bool": true },
{ "d": "2025-12-30T23:00:00.000Z", "bool": false }
],
"height": 250,
"cellEditing": true,
"columns": [
{
"label": "Date Column",
"type": "date",
"fieldName": "d"
},
{
"label": "Bool Column",
"type": "boolean",
"fieldName": "bool"
}
]
}
]
}
],
"state": {
"data": {
"table": {
"data": [
{ "t": "Mustermann", "n": 25 },
{ "t": "Jägermeister", "n": 85 },
{ "t": "Hwang", "n": 20 }
]
}
}
}
}