Sie wissen es bereits: Mit 4D View Pro können Sie Daten in Tabellen einfach laden und anzeigen.
4D v19 R6 bringt spannende Neuigkeiten. In diesem Blog-Beitrag stellen wir Ihnen die neue Tabellenfunktion vor, mit der Sie viel mehr tun können und von zusätzlichen Eigenschaften wie Überschriften, Größenänderung der Tabelle, Zusammenfassungszeile, Spaltensortierung, Filter und mehr profitieren. Außerdem erfahren Sie, wie Sie schnell Daten aus Datenklassen und Sammlungen laden können. Verpassen Sie auf keinen Fall die Demo, die ein vollständiges Beispiel und einige visuelle Diagramme als Bonus enthält.
Es gibt zwei Möglichkeiten, eine Tabelle zu erstellen:
- Erstellen Sie eine leere Tabelle und füllen Sie sie Zelle für Zelle mit den vorhandenen Befehlen wie VP SET VALUES oder VP SET VALUE
- Automatische Erstellung einer Tabelle aus einer im Datenkontext enthaltenen Sammlung.
Sagen Sie hallo zu VP CREATE TABLE
manuell eine Tabelle füllen
Zunächst müssen Sie eine Tabelle ohne Quelle erstellen. Verwenden Sie den Befehl new VP CREATE TABLE und übergeben Sie ihm als Parameter den Bereich, in dem die Tabelle erscheinen soll:
VP CREATE TABLE(VP Cells("ViewProArea"; 1; 1; 3; 4); "EmptyTable")
Es wird eine leere Tabelle mit Standardnamenspalten erstellt:
Jetzt müssen wir nur noch unsere Tabelle mit Hilfe des VP SET VALUES Befehl:
$data:=New collection
// Titles
$data.push(New collection("First Name"; "Last Name"; "Score"))
// Data
$data.push(New collection("Andrea"; "Butterfield"; "70"))
$data.push(New collection("Faye"; "Back"; "100"))
$data.push(New collection("Shane"; "Frazier"; "50"))
VP SET VALUES(VP Cell("ViewProArea"; 1; 1); $data)
Die Tabelle wird nun mit den in der Sammlung vorhandenen Werten befüllt:
Sie können die Tabelle nun einfach filtern oder sortieren:
Eine Tabelle aus dem Datenkontext auffüllen
Um eine Entitätsauswahl als Tabelle anzuzeigen:
müssen Sie Ihre Entitätsauswahl in eine Sammlung umwandeln und sie zu Ihrem Blattdatenkontext hinzufügen, die Spalten definieren und Ihre Tabelle erstellen.
Zunächst müssen Sie einen Datenkontext erstellen, der eine Sammlung der Daten enthält, die Sie anzeigen möchten. Im folgenden Beispiel werden die Daten aus einer Datenbank gelesen und in eine Sammlung umgewandelt, die dann in ein Objekt gekapselt wird:
$p:=ds.People.all().toCollection()
$data:=New object
$data.people:=$p
VP SET DATA CONTEXT("ViewProArea"; $data)
Nun, da der Datenkontext erstellt ist, legen wir fest, welche Spalten angezeigt werden sollen:
$parameter:=New object
$parameter.tableColumns:=New collection
$parameter.tableColumns.push(New object("name"; "First name"; "dataField"; "Firstname"))
$parameter.tableColumns.push(New object("name"; "Last name"; "dataField"; "Lastname"))
$parameter.tableColumns.push(New object("name"; "Email"; "dataField"; "email"))
$parameter.tableColumns.push(New object("name"; "Birthday"; "dataField"; "Birthday"; "formatter"; "dddd dd MMMM yyyy"))
$parameter.tableColumns.push(New object("name"; "Country"; "dataField"; "Country"))
Es bleibt nur noch, den Befehl VP CREATE TABLE zu verwenden, der angibt, dass wir die im Attribut people des Datenkontexts enthaltene Sammlung anzeigen wollen:
// Table creation
VP CREATE TABLE(VP Cells("ViewProArea"; 1; 1; $parameter.tableColumns.length; 1); "ContextTable"; "people"; $parameter)
// Automatic column sizing
VP COLUMN AUTOFIT(VP Column($area; 0; 4))
Schauen Sie sich das obige HDI an, um diese Befehle in Aktion zu sehen. Lesen Sie auch die Dokumentation für weitere Details!