4D View Pro: Zeigen Sie Ihre Sammlungen als Tabellen an

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.

HDI: 4DVP Tabelle erstellen

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:

blank

Sie können die Tabelle nun einfach filtern oder sortieren:

blank

Eine Tabelle aus dem Datenkontext auffüllen

Um eine Entitätsauswahl als Tabelle anzuzeigen:

blank

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))

blank

Schauen Sie sich das obige HDI an, um diese Befehle in Aktion zu sehen. Lesen Sie auch die Dokumentation für weitere Details!

Fabrice Mainguené
- Product Owner -Fabrice Mainguené gehört seit November 2016 zum 4D Program Team. Als Product Owner ist er verantwortlich für das Schreiben der User Stories und deren Umsetzung in funktionale Spezifikationen. Seine Aufgabe ist es auch, sicherzustellen, dass die gelieferte Funktionsimplementierung den Kundenanforderungen entspricht.Nach seinem Bachelor-Abschluss in Informatik am CNAM arbeitete Fabrice als Windev-Entwickler bei einem kleinen Software-Verlag. Danach arbeitete er für verschiedene Unternehmen in Industrie und Handel als Windev- und Webentwickler sowie als technischer Berater für neue Funktionen.