Scripting

Erkennen von Tabelleninteraktionen

Das Tabellen-Element bietet zwei Events, mit denen auf Interaktionen reagiert werden kann:

  • DataRowLoaded
  • CellTapped

Diese Events ermöglichen es, dynamische und interaktive Tabellen zu erstellen.

DataRowLoaded-Event

Das DataRowLoaded-Event wird ausgelöst, wenn eine neue Zeile in die Tabelle geladen oder eingefügt wird. Dieses Event eignet sich hervorragend, um Aktionen während des Ladevorgangs der Tabelle auszuführen, wie beispielsweise das Einfärben von Zeilen basierend auf bestimmten Kriterien.

Um ein DataRowLoaded-Event zu nutzen, wähle zunächst das Tabellen-Element aus, für das das Event hinzugefügt werden soll. Im Control Panel auf der rechten Seite des Peakboard Designers findest du in der Logik-Sektion die Möglichkeit, das DataRowLoaded-Event hinzuzufügen.

DataRowLoaded-Event hinzufügen

Nach dem Hinzufügen des Events öffnet sich ein neues Fenster, in dem du das Skript einfügen kannst, das beim Auslösen des Events ausgeführt wird.

Im Skript kannst du auf die Daten der aktuell geladenen Zeile zugreifen und verschiedene Aktionen ausführen, indem du die folgenden Building Blocks verwendest:

Zugriff auf Daten der Zeile

-- Zeilenindex
local _ = e.index

-- Wert der Zelle in der Spalte 'Id'
local _ = e.datarow["Id"]

-- Wert der Zelle in der Spalte mit dem Index 0
local _ = table.getcelltext(e, 0)

-- Setzen des Textes in der Zelle in der Spalte mit dem Index 0
table.setcelltext(e, 0, '')

-- Färben des Texts in der gesamten Zeile mit der Farbe '#ff0000'
table.colorrowtext(e, brushes.fromhex('#ff0000'))

-- Färben des Hintergrunds der gesamten Zeile mit der Farbe '#ff0000'
table.colorrow(e, brushes.fromhex('#ff0000'))

Das folgende Skript färbt jede Zeile grün ein, die in der Spalte IsChecked den Wert True hat. Zusätzlich wird ein Zähler erhöht, der die Anzahl der grün eingefärbten Zeilen zählt.

Einfärben der geladenen DataRow

if e.datarow["IsChecked"] then
   table.colorrow(e, brushes.fromhex('#FFC6FF00'))
   table.colorrowtext(e, brushes.fromhex('#FF000000'))
   data.CheckedItemsAmount = data.CheckedItemsAmount + 1
else
   table.colorrow(e, brushes.fromhex('#FFFF6E40'))
end

CellTapped-Event

Das CellTapped-Event wird ausgelöst, wenn eine Zelle in einer Tabelle angeklickt wird. Mit diesem Event kannst du auf Klicks reagieren und beispielsweise eine Detailansicht öffnen oder eine mit der Zelle verknüpfte Aktion ausführen.

Um ein CellTapped-Event zu nutzen, wähle zunächst das Tabellen-Element aus, für das das Event hinzugefügt werden soll. Im Control Panel auf der rechten Seite des Peakboard Designers kannst du in der Logik-Sektion das CellTapped-Event hinzufügen.

CellTapped-Event hinzufügen

Nach dem Hinzufügen des Events öffnet sich ein neues Fenster, in dem du das Skript einfügen kannst, das beim Auslösen des Events ausgeführt wird.

Im Skript kannst du auf die Daten der angeklickten Zelle zugreifen und verschiedene Aktionen ausführen:

-- Zeilenindex
screens['Screen1'].RowIndexText.text = string.tostring(e.row)

-- Spaltenindex
screens['Screen1'].CellIndexText.text = string.tostring(e.column)

-- Wert der Zelle
screens['Screen1'].DataValueText.text = data.Demo_List[e.row][e.column]

Wir lernen von dir!

Hat dir dieser artikel geholfen?

Lass dich erleuchten!

Du benötigst weitere unterstützung?

Peakboard Youtube icon Zum YouTube Kanal

Unsere zahlreichen Videos für Einsteiger und Fortgeschrittene erklären dir genau, wie du dein Dashboard gestaltest.

Peakboard Templates icon Zu den Peakboard Templates

Lade dir unsere Templates für die verschiedensten Anwendungsfälle kostenlos herunter.

Peakboard icon Zu www.peakboard.com

Auf unserer Website findest du alle wichtigen Infos zu Peakboard sowie verschiedene Anwendungsfälle und Success Stories.