Anwendung

Das Editierbare Grid wird auch als Template in ein Modell (Frame-Window , Popup) geladen.

Klasse: org.openz.view.EditableGrid

Beispiel-Controller: org.openz.controller.GridTestServlet

Es definiert eine Struktur, bestehend aus diversen einfachen Templates, die voll automatisiert geladen und als Grid dargestellt werden.

  • Daten werden als XSQL definiert
  • Das XSQL muß ein grou by entsprechen der Grid Struktur beinhalten
  • Feldnamen im XSQL und in der Grid struktur mpüssen sich entsprechen.
  • Die GRID-Struktur wird in Application Dictionary || Reference  ||  Reference  als Editable Grid definiert
  • Es muß min. 1 Gruppe definiert werden. Diese kann, wenn lediglich eine Überschrift drin steht ohne ID Column Name, definiert werden.
     Dann braucht es aber unter Editable Grid Columns Header Columns mit dem template HEADER. Dann wird der Text für die Überschrift aus den Applications-Elements geholt.
  • ID Column Name muß mit einer Column im Query übereinstimmen. Eine  ID Column in einer gruppe sagt aus, daß darunter noch Zeilen kommen und Diese gruppe den zeilen Übergeordnet ist.
  • Es kann eine Hierarcheie von Gruppen angelegt werden (LEVEL) es gibt nur 1 Gruppe mit ID Column pro Level!
  • Zeilenumbrüche in derselben Gruppe können mit Split Group Column festgelegt werden.

 Eigenschaften der Gruppen

  • Has select Line: Unterhalb der gruppe folgen die Zeilen. Die Zeilen haben eine select-Box, die diese Auswählt
  • Has Select All Below: Die gruppe hat eine select-Box, die alles was in dieser Gruppe Folgt auswählt
  • Has Even / Odd: Unterhalb der gruppe folgen die Zeilen. diese werden je farblich  abgesetzt gerade/ungerade dargestellt.
  • Has Expander: Aus/Einklappfunktion für alles was in dieser Gruppe Folgt.
  • Header Bold: Fette Darstellung des Gruppen-Headers
  • Columns visible on Init: Wenn Aus/Einklappfunktion vorhanden, ist nach laden des Grids diese ausgeklappt, wenn die Option an ist.

 

 

Eigenschaften der Felder (Editable Grid Columns )

  • Readonly: Nur lesen.
  • Colspan : Laufweite
  • Required: Pflichtfeld-Validierung
  • Maxlength: Max. Eingabelänge
  • Header Colum: Darstellung im Gruppen-Header
  • Reference: Für Template=REFCOMBO und POPUPSEARCH: Referenz aus dem Application Dictionary.
  • Reference URL: Für Template=LABELLINK: Hier wird die URL des Ziel Servlets für den Link angegeben.
  • Table: Für Template=REFCOMBO: Bei dieser Kombination wird ein Direkt-table Link in derr Combo Aufgebaut.
  • Header Text: Für  template HEADER, wenn der Text für die Überschrift nicht aus den Applications-Elements geholt werden soll.

Programmierung

  • Model wie üblich laden (Popup oder Framewindow)
  • Scripthelper und EditableGrid initialisieren.
  • Wichtig: Die ID-Column für die Zeilen unterhalb der letzten Gruppe ist nicht in der Group sondern direkt in der Referenz  angegeben. Dies gilt auch für die Anzahl von Columns der gesamten Struktur
  • Field Provider (Daten) laden
  • Initialisierung des Grids: Beispiel:
    EditableGrid grid = new EditableGrid(“Grid Test”);

  • mit  grid.printGrid(..data.) wird die gesamte Struktur asgegeben.
  • Diese wird wie bei anderen teplates auch in das Modell geladen.

Auslesen der Editierten felder

  • grid.getSelectedIds(this, vars, “ID-Column“);
  • Bringt als Vector die Ids in der Gruppe mit der angegebenen ID-Column zurück. Für die zeilen unterhalb der letzten Gruppe wird die ID-Column, mit welcher das grid initialisiert wurde benutzt.
  • Die eigentlichen Wertte der Editierten Felder werden dann mit der Konvention inp<Feldname>IDWert abgegriffen, z.B.: vars.GetStringParameter(‘inpC_Bpartner_ID12345677888’);

 

Scroll to Top