4D View Pro: Befüllen Sie Ihre Blätter mit einem Datenkontext

4D View Pro bietet Ihnen eine neue Möglichkeit, Ihre Daten zu laden und Ihre Vorlagen zu erstellen: den Datenkontext. Er ermöglicht es Ihnen, Ihr Dokument mit Platzhaltern zu erstellen und diese durch die Einstellung des Datenkontexts zu füllen.

Mit nur ein paar Zeilen Code können Sie Objekte oder Sammlungen anzeigen, ohne sie vorher mit VP SET CUSTOM FUNCTION! Kommen wir nun zu den Details.

HDI 4DVP Datenkontext

Erstellen eines Dokuments mit Platzhaltern

Zunächst müssen Sie ein Dokument mit Ihren Objektattributen erstellen. Wenn Sie zum Beispiel ein Objekt mit 2 Attributen, Vorname und Nachname, verwenden, können Sie zwei Platzhalter mit dem VP SET BINDING PATH Befehl erstellen:

VP SET BINDING PATH(VP Cell("ViewProArea"; 0; 0); "Firstname")
VP SET BINDING PATH(VP Cell("ViewProArea"; 0; 1); "Lastname")

In Ihrem Blatt erscheinen keine Werte, weil der Datenkontext noch nicht definiert ist. Um zu überprüfen, ob Ihre Zellen korrekt gebunden sind, gehen Sie auf die Registerkarte DATEN der Multifunktionsleiste und klicken Sie auf die Schaltfläche Blattbindung. Die Namen Ihrer Attribute werden in Klammern angezeigt:

Datenkontext

Jetzt, wo Ihre Vorlage fertig ist, müssen Sie nur noch den Datenkontext mit Ihrem Objekt festlegen, indem Sie VP SET DATA CONTEXT:

$object:=New object
$object.Firstname:="John"
$object.Lastname:="Smith"
VP SET DATA CONTEXT("ViewProArea"; $object)

Die Vorlage wird also automatisch aktualisiert:

blank

Natürlich kann der Benutzer die Daten ändern:

blank

In diesem Fall ist das kein Problem; verwenden Sie einfach die VP Get data context Methode, um Ihr Objekt mit den Änderungen abzurufen:

$object:=VP Get data context("ViewProArea")

//$object={Firstname:Judith,Lastname:Smith}

Dateninjektion in sheetS

Wenn Sie Ihrem Datenkontext eine Sammlung übergeben, wird diese Sammlung automatisch an das Blatt gebunden. Wenn die Option autoGenerateColumns des Befehls VP SET DATA CONTEXT Befehls auf true gesetzt ist, wird die Sammlung automatisch im Blatt angezeigt.

Wenn Sie zum Beispiel eine Datenbanktabelle anzeigen möchten, schreiben Sie einfach:

$people:=ds.People.all().toCollection()

VP SET DATA CONTEXT("ViewProArea"; $people; New object("autoGenerateColumns"; True)

Sie erhalten:

blank

Die Anzahl der Spalten und Zeilen wird automatisch berechnet, und die Namen der Spalten sind die Feldnamen der Tabelle.

Beachten Sie, dass keine Daten angezeigt werden, wenn autoGenerateColumns nicht auf true gesetzt ist!

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.