Skip to content

Daten senden

Rendert einen Datensatz in tabellarischer Form. Erwartet eine Eingabe (msg.payload) im Format von:

json
[{
    "colA": "A",
    "colB": "Hallo",
    "colC": 3
}, {
    "colA": "B",
    "colB": "Welt",
    "colC": 5
}]

Die Tabelle wird mit den Spalten colA, colB und colC gerendert, es sei denn, die "Spalten" sind explizit auf dem Knoten definiert, mit deaktivierter "Automatische Spalten"-Option.

Sie können auch ein einzelnes Datenstück senden, um es an die vorhandene Tabelle anzuhängen. In diesem Fall erwartet das ui-table eine Eingabe (msg.payload) im Format von:

json
{
    "colA": "A",
    "colB": "Hallo",
    "colC": 3
}

Daten löschen

Sie können ein leeres Array senden, um die Tabelle zu löschen.

json
[]

Eigenschaften

PropDynamicDescription
GruppeDefiniert, in welcher Gruppe des UI-Dashboards dieses Widget gerendert wird.
GrößeSteuert die Breite des Buttons in Bezug auf die übergeordnete Gruppe. Der Maximalwert ist die Breite der Gruppe.
BeschriftungDer Text, der über der Tabelle angezeigt wird und beschreibt, was die Tabelle zeigt.
Max. ZeilenDefiniert die maximale Anzahl von Datenzeilen, die in der Tabelle gerendert werden sollen. Überschüssige Zeilen sind über die Paginierungskontrolle verfügbar. Auf "0" setzen, um keine Paginierung zu verwenden.
BreakpointSteuert, wann eine Tabelle stattdessen als Karte gerendert wird, wobei jede Spalte einer Zeile als Zeile in einer größeren, eine Zeile enthaltenden Karte für einen einzelnen Eintrag gerendert wird. Der Breakpoint wird basierend auf der Breite der Tabelle gemessen, nicht auf der Breite des Bildschirms.
AuswahlBietet drei Optionen für die Tabelleninteraktion - "Keine", "Klick" und "Checkbox"
Suche anzeigenDefiniert, ob eine Suchleiste über der Tabelle angezeigt werden soll. Ermöglicht das Suchen und Filtern über alle Spalten.
Automatische SpaltenWenn aktiviert, werden die Spalten automatisch basierend auf dem Inhalt der empfangenen Nachrichten berechnet.
SpaltenWenn "Automatische Spalten" deaktiviert ist, werden stattdessen diese Spalten beim Rendern der Tabelle verwendet.

Auswahl

  • Keine: Keine Auswahl ist erlaubt. Die Tabelle zeigt nur die Daten an.
  • Klick: Die gesamte Zeile wird zu einem klickbaren Element, und der ui-table-Knoten gibt das vollständige Objekt aus, das mit einer Zeile verknüpft ist, wenn darauf geklickt wird.
  • Checkbox: Jede Zeile hat eine Checkbox, und der ui-table-Knoten gibt ein Array von Objekten aus, die mit den ausgewählten Zeilen verknüpft sind, wenn eine Checkbox ausgewählt wird.

Die jeweiligen Ereignisse geben Folgendes aus:

json
{
    "payload": <vollständiges Zeilenobjekt>,
    "action": "row_click" | "multiselect"
}

Sie können auch eine Schaltfläche als Zelltyp hinzufügen und Ereignisse auf diese Weise auslösen.

Reaktionsfähigkeit Added In: v1.15.0

Die "Breakpoint" Eigenschaft für die UI-Tabelle gibt Ihnen die Kontrolle darüber, wann eine Tabelle in den "mobilen" Modus wechselt und jede Datenzeile als Karte rendert. Dies ist nützlich, wenn Sie viele Spalten haben und die Tabelle zu breit ist, um auf einen mobilen Bildschirm zu passen. Der Breakpoint wird basierend auf der Breite der Tabelle gemessen, nicht auf der Breite des Bildschirms.

Desktop-Ansicht eines UI-TabellenbeispielsDesktop-Ansicht eines UI-Tabellenbeispiels

Mobile Ansicht derselben UI-TabelleMobile Ansicht derselben UI-Tabelle

Der Breakpoint kann auf eine von drei Arten definiert werden:

  • Standards: Wählen Sie aus einem der vordefinierten Breakpoints (xs, sm, md, lg).
  • px: Definieren Sie manuell einen px-Wert, bei dem die Tabelle in den mobilen Modus wechselt, sobald sie diese Breite überschreitet.
  • keine: Immer als Datenzeilen in einer Tabelle rendern, niemals in die "Mobile" Ansicht wechseln.

Spalten konfigurieren

Screenshot der verfügbaren Konfigurationsoptionen für Spaltentypen in Node-REDScreenshot der verfügbaren Konfigurationsoptionen für Spaltentypen in Node-RED

Wenn Sie die Option "Automatische Spalten" deaktivieren, haben Sie mehr Kontrolle über die Definition der Spalten für Ihre Tabelle. Für jede Spalte können Sie Folgendes definieren:

  • Wert: Der Wert, der zur Steuerung der Darstellung verwendet wird. Typischerweise würden Sie einen Schlüssel zum Wert im Datenzeilenobjekt angeben, aber es kann geändert werden, um einen festen Zeichenfolgenwert bereitzustellen.
  • Beschriftung: Der Text, der in der Spaltenüberschrift angezeigt wird.
  • Breite: Die Breite der Spalte, kann in px, % oder einer anderen gültigen CSS-Größe angegeben werden.
  • Ausrichtung: Die Ausrichtung des Textes in der Spalte. Kann Links, Zentriert oder Rechts sein. Beachten Sie, dass einige Spalten mit "Zentrierter" Ausrichtung seltsam aussehen, da die Kopfzeile auch Platz für das Sortiersymbol enthält.
  • Typ: Definiert den Zelltyp und steuert, wie Ihre Daten für diese Spalte gerendert werden.

Zelltypen Added In: v1.10.0

Ein Beispiel für eine ui-table, die verschiedene der verfügbaren Zelltypen anzeigtEin Beispiel für eine ui-table, die verschiedene der verfügbaren Zelltypen anzeigt

  • Text: Rendert die Zelle als einfachen Text.
  • HTML: Respektiert Zeilenumbrüche (z.B. \n) und grundlegende HTML-Tags.
  • Link: Rendert die Zelle als Hyperlink. Das Link-Feld sollte die URL enthalten, zu der verlinkt werden soll.
  • Farbe: Rendert die Zelle als farbiges Feld. Das Farbe-Feld sollte eine gültige CSS-Farbe enthalten.
  • Haken/Kreuz: Rendert die Zelle als Haken oder Kreuz. Das Wert-Feld sollte einen booleschen (true/false) Wert enthalten.
  • Fortschritt: Rendert die Zelle als Fortschrittsbalken. Das Wert-Feld sollte eine Zahl zwischen 0 und 100 enthalten.
  • Sparkline - Trend: Rendert die Zelle als kleines Liniendiagramm ohne Achsen. Das Wert-Feld sollte ein Array von Zahlen enthalten, die geplottet werden sollen.
  • Sparkline - Balken: Rendert die Zelle als kleines Balkendiagramm ohne Achsen. Das Wert-Feld sollte ein Array von Zahlen enthalten, die geplottet werden sollen.
  • Schaltfläche: Rendert eine klickbare Schaltfläche in der Zelle. Die Beschriftung der Schaltfläche wird entweder der row[key] oder die feste Zeichenfolge sein, die in der manuellen Spaltenkonfiguration eingegeben wurde.
  • Zeilennummer: Rendert die Zeilennummer in die Zelle.
  • Bild: Rendert die Zelle als Bild. Der bereitgestellte "Bild"-Wert sollte eine gültige URL sein. Eine Daten-URL wird auch für base64-kodierte Bilder unterstützt. Wenn eine ungültige URL angegeben wird, erscheint ein leerer Raum.

Interaktion: Schaltflächen

Der Schaltfläche-Zelltyp rendert eine klickbare Schaltfläche in der Zelle. Die Beschriftung der Schaltfläche wird der entsprechende Wert in Ihrer Zeile für den bereitgestellten key sein. Wenn die Schaltfläche geklickt wird, gibt der ui-table-Knoten aus:

{
    "payload": <vollständiges Zeilenobjekt>
    "column": <Spaltenschlüssel>
    "action": "button_click"
}

Anhand der action- und column-Schlüssel können Sie bestimmen, welche Schaltfläche geklickt wurde, und den payload verwenden, um zu bestimmen, mit welcher Zeile sie verknüpft war.

Beispiel

Dynamische Eigenschaften

Dynamic properties are those that can be overriden at runtime by sending a particular msg to the node.

Where appropriate, the underlying values set within Node-RED will be overriden by the values set in the received messages.

PropPayloadStructuresExample Values
Klassemsg.classString

Tabellenkonfiguration

Suche & Filter

Der ui-table-Knoten kann so konfiguriert werden, dass er eine Suchleiste über der Tabelle enthält. Dies ermöglicht es Benutzern, über alle Spalten zu suchen und zu filtern und automatisch über alle Spalten zu suchen, wenn Sie tippen.

Beispiel

Beispiel einer Datentabelle mit Suche & FilterBeispiel einer Datentabelle mit aktivierter "Suche & Filter".

Interaktion

Beispiel, das zeigt, wie eine Tabelle mit verschiedenen Auswahltypen erscheint.

Standard - Keine Auswahlereignisse

Beispiel einer DatentabelleBeispiel einer gerenderten Datentabelle in einem Dashboard.

Mehrfachauswahl

Beispiel einer Tabelle mit aktivierter "Mehrfachauswahl"Beispiel einer Tabelle mit aktivierter "Mehrfachauswahl".

Einzelne Zeilenauswahl

Beispiel einer Datentabelle, die das Auswählen/Klicken einer Zeile ermöglichtBeispiel einer Datentabelle, die das Auswählen/Klicken einer Zeile ermöglicht.

Paginierung

Beispiel einer paginierten TabelleBeispiel einer paginierten Tabelle, die 10 Datenzeilen enthält, aber mit "Max. Zeilen" auf 5 gesetzt ist.

Wenn Sie die Paginierungsoptionen ("Elemente pro Seite") ausblenden möchten, können Sie "Max. Zeilen" auf 0 setzen.

Benutzerdefinierte Gestaltung & Inhalt

Wenn Sie mehr Anpassungen daran vornehmen möchten, wie Ihre Daten gerendert werden, können Sie dies tun, indem Sie Ihre eigene Datentabelle in einem ui-template erstellen. Schauen Sie sich dieses Beispiel für weitere Details an.