DOCLimbasForms

Aus Limbas Wiki

Wechseln zu: Navigation, Suche
Diese Seite enthält Bearbeitungen, die nicht zum Übersetzen freigegeben sind.

Admin-Dokumentation / Hauptseite



Einführung

LIMBAS Formulare stellen die zuvor angelegten Tabellen grafisch dar und erlauben die Tabellenfelder zu füllen oder zu ändern. In LIMBAS gibt es Standardformulare und benutzerdefinierte Formulare. Beide Arten haben gewisse Vor- und Nachteile je nach Anwendungszweck.

Standardformulare

Für jede angelegte Tabelle existiert ein Standardformular, das von LIMBAS dynamisch generiert wird. Damit ist es ohne Erstellung eines individuellen Formulars möglich, mit den Tabelleninhalten zu arbeiten. Ein großer Vorteil des Standardformulars ist, dass ein neu erstelltes Tabellenfeld sofort im Formular verfügbar ist.

Grundsätzlich werden alle Felder untereinander angezeigt. Felder können sortiert und gruppiert werden, wobei Gruppierungen durch Reiter oder Überschriften dargestellt werden. Zusätzlich hat man die Möglichkeit Felder nebeneinander oder in Untergruppen zu legen. Alle diese Einstellungen werden direkt bei der Tabellendefinition, wo auch die Felder hinzugefügt werden, vorgenommen. Weitergehende Gestaltungsmöglichkeiten sind nur über das LIMBAS-Layout möglich.

Benutzerdefinierte Formulare

Eine zweite Möglichkeit bietet LIMBAS über seinen Formulareditor. Dieser ermöglicht es sehr komfortabel, eigene individuelle Formulare zu erstellen. Es können beliebig viele Formulare für eine Tabelle erzeugt werden. Änderungen bei der Tabellendefinition müssen allerdings selbst in die Formulare eingepflegt werden. Das bedeutet, dass neue Felder von den Formularen nicht automatisch übernommen werden, sondern je nach Wunsch einzeln hinzugefügt werden müssen. Formulare können auch für Kalendertabellen oder das Filesystem genutzt werden. Für das Filesystem muß das Formular für die Tabelle "ldms_files" erstellt werden.


Listenformulare

Listenformulare sind für die Darstellung und Bearbeitung mehrerer Datensätze und bieten eine Alternative zur Listendarstellung. Sie bestehen aus dem Listenformular, dem äußeren Formular (Abb1) und den einzelnen Listenelementen, dem inneren Formular (Abb2).

Im inneren Formular (z.B. Kontaktlistenelement) wird der einzelne Kontakt dargestellt. Zur Erstellung eines äußeren Formulars wird ein inneres Formular benötigt (siehe Abb1). Siehe auch Verknüpfung von Listenformularen.

Listenformular Abb3.png

Abb1


Listenformular Abb1.png

Abb2


Listenformular Abb4.png

Formulareditor

Beim Aufruf des Formulareditors erscheint eine nach Tabellen sortierte Auflistung der vorhandenen Formulare mit der Möglichkeit weitere Formulare hinzuzufügen.

  • ID: Eindeutige Identifikation für das Formular. Beim Hinzufügen eines neuen Formulars wird diese ID von LIMBAS selbst gesetzt.
  • Durch Mausklick auf das Editier-Symbol lässt sich das entsprechende Formular bearbeiten, vorausgesetzt es ist nicht in PHP als Erweiterung implementiert.
  • löschen: Durch Mausklick auf das Papierkorb-Symbol wird das entsprechende Formular nach Rückfrage gelöscht.
  • Formular: Name des Formulars
  • erstellt von: Name des Benutzers, der das Formular erstellt hat.
  • für Tabelle: Tabelle, die mit dem Formular bearbeitet werden kann.
  • Erweiterung: Name der Datei, in welcher das Formular implementiert ist (nur wenn das Formular als PHP-Datei erstellt ist).

Formular hinzufügen

  • Name: siehe oben "Formular"
  • Tabelle: siehe oben "für Tabelle"
  • kopieren: Name eines bereits vorhandenen Formulars, dessen Formularelemente im neuen Formular übernommen werden.
  • Vorwahl: Diese Beschreibung berücksichtigt vorerst nur die Einstellung "Entwurf einspaltig". Bei "Entwurf Liste" gibt es Abweichungen bei der Werkzeugleiste des Formulareditors als auch bei den Formularelement-Typen.
  • Erweiterung: Name einer PHP-Datei ./dependent/EXTENSIONS/*.ext, in welcher das neue Formular implementiert ist

Bei Mausklick auf den Button "neues Formular" wird das neue Formular in die Auflistung der Formulare mit aufgenommen und kann bearbeitet werden.

Formular bearbeiten

Formulare Abb.1.png

Auf der linken Seite des Formulareditors befindet sich die jeweils aktuelle Formularansicht. Ein gerade neu angelegtes Formular ist hier noch leer.

Auf der rechten Seite des Formulareditors befindet sich die Werkzeugleiste mit folgender Unterteilung:

  • Name des Formulars und der Tabelle, die mit dem Formular bearbeitet werden soll
  • Koordinaten, Breite und Höhe des selektierten Formularelements
  • Globale Formulareinstellungen:
    • Class: Ist eine CSS-Stylesheets-Datei (aus dem Pfad ./dependent/EXTENSIONS/css) ausgewählt, so wird diese im Formular mit eingebunden und kann für die Formatierung der Formularelemente herangezogen werden (siehe Class).
    • Zeichensatz: Der hier eingestellte Zeichensatz und die hier eingestellte Zeichengröße werden als Voreinstellung für Formularelemente, die Text beinhalten und dem Formular neu hinzugefügt werden, verwendet.
    • Raster: Der Wert gibt an, wie weit Einrastpunkte auseinanderliegen. Das Einrasten bewirkt einheitliche Abstände zwischen den einzelnen Elementen und somit ein geordnetes Layout.
    • Proportionen erhalten: Ist diese Eigenschaft gesetzt, so können Höhe und Breite des selektierten Formularelements nur so geändert werden, dass dabei die Proportionen erhalten bleiben. Ansonsten können Höhe und Breite des selektierten Formularelements auch unabhängig voneinander geändert werden.
    • Z-Index berücksichtigen: siehe zIndex
    • Z-Index erneuern: siehe zIndex
  • Buttons zum Hinzufügen von Formularelementen: Wird der Mauszeiger für kurze Zeit auf einem Button belassen, so wird die Funktionalität des Formularelements eingeblendet.
  • Button "übernehmen" zum Speichern des Formulars
  • Tabelle mit Auflistung der verwendeten Formularelementen: Die Tabelle zeigt für jedes im Formular verwendete Formularelement
    • den zIndex-Wert (siehe zIndex)
    • den Typ des Formularelements
    • einen Hinweis auf den Inhalt des Formularelements

Hinzufügen eines Formularelements

Bei Mausklick auf einen Button zum Hinzufügen eines Formularelements wird ein entsprechendes Element in der Ansicht in der oberen linken Ecke hinzugefügt, und zwar mit den für das jeweilige Element gültigen Default-Eigenschaften. Die Eigenschaften eines Formularelements sind Typ-abhängig und lassen sich wie unten (Einstellen/Ändern der Eigenschaften eines Formularelements) beschrieben ändern.

Soll sich ein Element innerhalb eines anderen Elements befinden (z.B. ein Text-Eingabefeld innerhalb eines Tabulators), so muss zuerst das äußere Formularelement angelegt werden. Vor dem Hinzufügen des inneren Formularelements muss das äußere Formularelement selektiert sein. Das innere Formularelement wird dann in der oberen linken Ecke des äußeren Elements platziert. Die folgenden Elemente werden vom LIMBAS Formulareditor zur Platzierung auf einem benutzerdefinierten Formular angeboten:

Textblock

freier Text

Dateninhalte

Bei Mausklick auf den Button für "Dateninhalte" wird in der Werkzeugleiste unterhalb der Buttons ein Baum der Tabellenfelder eingeblendet. Erst bei Mausklick auf eines dieser Tabellenfelder wird das Formularelement in der Formularansicht hinzugefügt. Verknüpfte Tabellen können aufgeklappt und deren Felder ebenfalls ausgewählt werden. Zu beachten ist das Verknüpfte Felder nur dann Sinn machen wenn sie nicht mehr als 1 Datensatz beinhalten.
Verknüpfungstabellen

Eine Datensatzliste für mehrere verknüpfte Datensätze kann über das Verknüpfungsfeld selbst hinzugefügt werden. Dadurch wird eine Tabelle im vorgegeben Rahmen dargestellt welche auch für Verknüpfungen im Standardformular genutzt wird. Diese Tabelle bringt schon etliche Funktionalitäten zum Verknüpfen mit sich. -> Verknüpfungen
Zusätzlich können über den Menüpunkt "Parameter" im Kontextmenü Filter und Darstellungsparameter weiter angepasst werden. Je nachdem werden Standardfunktionalitäten der Verknüpfungstabelle ausgeblendet oder Inhalte gefiltert. Diese Einstellungen gelten nur für das jeweilige Formularelement und nicht Global für alle Verknüpfungstabellen.
Die Breite der Felder ist standardmäßig immer gleich und passt sich an die Tabellenbreite an. Durch den Parameter 'width' kann die Breite der Felder aus der Listenansicht der Tabelle übernommen, oder jedem einzelnen Feld eine individuelle Breite zugewiesen werden.

Besonderheit:
Es existieren 4 unterschiedliche Scroll-Verhalten bei zu großem Inhalt der Tabelle, welche über den Kontextmenüpunkt 'Form' ausgewählt werden können:

  1. auto - Die vorgegebene Größe bleibt erhalten, Überläufe werden mit Scrollbalken versehen. Der Tabellenkopf bleibt beim Scrollen stehen. Scollbare Überbreiten sind nicht möglich. Die Breite der Spalten passen sich an die maximale Breite des Elements an. Der Filter-Parameter 'width' wird nicht interpretiert
  2. scrollbar - Die vorgegebene Größe bleibt erhalten, Überläufe werden mit Scrollbalken versehen. Der Tabellenkopf scrollt beim Scrollen mit. Überbreiten können nach rechts gescrollt werden.
  3. sichtbar - Die Größe wird ohne Scrollbalken auf die maximale Größe vergrößert. Weitere Formularelemente können überlagert werden.
  4. abgeschnitten - Die Größe wird auf die vorgegebene Größe abgeschnitten


Filterparameter:

gsr 
Filtern der Ergebnisliste
no_add 
keinen neuen Datensatz anlegen
no_new 
keinen neuen Datensatz anlegen über Listenfunktion (nur im Editiermodus verfügbar)
no_edit 
Datensätze nicht editieren
no_replace 
Datensätze nicht ersetzen
no_search 
Datensätze nicht dursuchen
no_copy 
Datensätze nicht kopieren
no_link 
keine Schnellverknüpfung
no_openlist 
Kein öffnen der Tabellenliste
no_fieldselect 
keine Feldauswahl
no_delete 
kein löschen von Datensätzen
no_sort 
kein Sortieren von Datensätzen
no_menu 
keine Menüleiste
showall 
zeige alle gefundenen Datensätze
count 
zeige anzahl Ergebnisse
getlongval 
zeige Inhalt von Long Spalten
nogresult 
zeigt Tabelle ohne Ergebnisse (gilt nur für Unterformulare)
edit 
editieren von definierten Spalten
order 
sortieren der Ergebnissliste
showfields 
Zeige Felder
width 
Feldbreite anpassen
show_relationpath 
Neue Verknüpfungen im gleichen Fenster öffnen
show_inframe 
Details im gleichen Fenster öffnen, ansonsten neues Browserfenster
no_calendar 
zeige Kalenderfunktionen nicht an (nur bei Kalendertabelle)
viewmode 
überschreibt die Darstellung des Feldtyps. Mögliche Werte sind single_ajax, multi_ajax, dropdown, default
Beispiel
Example:
 $gsr[4][22][0] = $ID;
 
 return array(
 'no_add' => 1,
 'no_new' => 1,
 'no_edit' => 1,
 'no_search' => 1,
 'no_replace' => 1,
 'no_copy' => 1,
 'no_link' => 1,
 'no_openlist' => 1,
 'no_fieldselect' => 1,
 'no_delete' => 1,
 'no_sort' => 1,
 'no_menu' => 1,
 'showall' => 1,
 'getlongval' => 1,
 'nogresult' => 0,
 'edit' => array(16,19,23),
 'order' => array(array(4,2,'DESC'),array(4,3,'DESC')),
 'showfields' => array(1,2,3,4,5),
 'width' => 'rowsize',
 'width' => array(1=>10,2=>10,3=>50,4=>50,5=>30),
 'show_relationpath' => 1,
 'show_inframe' => 1,
 'no_calendar' => 1,
 'viewmode' => 'dropdown'
 );

Hinweis: Sollten mehr oder weniger Felder als erwünscht sichtbar sein, liegt es daran, dass individuelle Einstellungen vorliegen. Diese lassen sich im Menü "Ansicht" der eigentlichen Tabelle über "Ansicht zurrücksetzen" zurücksetzen.

Unterformular

Bei Mausklick auf den Button für "Unterformular" wird in der Werkzeugleiste unterhalb der Buttons eine Formularauswahl eingeblendet. Bei Mausklick auf "Übernehmen" wird das gewählte Unterformular in der Formularansicht hinzugefügt.

Dabei müssen Style und Typ des Formulars ausgewählt werden.

Style

Unterformulare können je nach Anwendungszweck als DIV oder als IFRAME Element hinzugefügt werden. IFRAMES sind unabhängig zum restlichen Formular und sind gut für Unterformulare geeignet die gespeichert oder durchsucht werden sollen ohne das Haupformular zu beeinflussen oder neu zu laden. DIV Elemente integrieren sich dagegen direkt in das Hauptformular und sind demnach schneller geladen. Nach dem Anlegen des Unteformularelements kann über den "URL-Parameter" des Kontextmenüs weiteres Verhalten zum Element gesteuert werden. IFRAMES können per GET-Parameter gefiltert werden. DIVs können direkt per Übergabevariablen (get_gresult()) gefilter werden.

Typ

Bei erstellen des Formular können verschiedene Typen zum Verhalten des Formular gewählt werden:

  • benutzerdefiniert

Für Style IFRAME wird als URL die in dem Parameter des Kontextmenüs eingetragene URL aufgerufen. Der URL-Parameter kann PHP Code enthalten und wird ausgeführt.
Für Style DIV wird als INHALT des DIVs der in dem Parameter des Kontextmenüs eingetragene Inhalt eingetragen. Der URL-Parameter kann PHP Code enthalten und wird ausgeführt.

  • Unterformular

Für Style IFRAME wird als URL das gewählte Unterformular in einem IFRAME geöffnet. An die URL wird der in dem URL-Parameter des Kontextmenüs eingetragene Inhalt angehängt.
FÜR Style DIV als INHALT das ausgewählte Unterformular in einem DIV eingetragen. Dabei werden die URL-Parameter vor der Erzeugung des Unterformulars konform zur Funktion get_gresult() ausgeführt.

  • Tabelle

Für Style IFRAME wird als URL die ausgewählte Tabelle in einem IFRAME geöffnet. Die Darstellung ist konform zur Tabellenliste. An die URL wird der in dem URL-Parameter des Kontextmenüs eingetragene Inhalt angehängt.
Für Style DIV wird als INHALT die ausgewählte Tabelle in einem DIV geöffnet. Die Darstellung ist konform zu "Verknüpfungstabellen". Dabei werden die URL-Parameter vor der Erzeugung des Unterformulars konform zu "Verknüpfungstabellen" ausgeführt.

Besonderheit:
Im Allgemeinen wird der Rahmen des Unterformulars in dem gesetzten Style und Größe dargestellt. Für ein Unterformular des Typs "Unterformular" dargestellt als "DIV" wird der Style (außer der Positionierung) nur dann übernommen wenn dem Parameter "Form" (auto/sichtbar/abgeschnitten/scrollbar) ein Wert zugewiesen wurde. Ist kein Wert gesetzt wird das Unterformular in der vollen Größe (also 100% Breite) im Hauptformular dargestellt.

Info:
Zusätzlich können über den Menüpunkt "Parameter" im Kontextmenü Filter und Darstellungsparameter analog zu Verknüpfungstabellen weiter angepasst werden.

Formulare Abb.2.png

Beispiel zum Filtern eines DIV Elements: (get_gresult())

$gsr[47][11]['txt'][0] = 2; # ganzes Wort suchen 
$gsr[47][11][0] = $gresult[4][2][0]; # Filter nach Inhalt


Beispiel zum Filtern eines Unterformular oder Tabellen IFRAME Elements: (URL_Syntax)

return "rgsr[179][12][0]=".$gresult[$gtabid][26][0]."&rgsr[179][12][txt][0]=2";

Beispiel zum Filtern eines benutzerdefinierten IFRAME Elements: (URL_Syntax)
Standort eines Kunden auf einer Karte anzeigen.

 return  "https://www.google.com/maps/embed/v1/place?key={YOUR_API_KEY}&q=".$gresult[$gtabid][4][0].",".$gresult[$gtabid][6][0]." ".$gresult[$gtabid][5][0];
                                                                               //Straße/Nr. holen          //PLZ holen                 //Ort holen

oder

return  "main.php?action=gtab_erg&gtabid=1&rgsr[1][2][0]=AlfredsFutterkiste&rgsr[1][2][1]=
Nudelkisten&rgsr[1][2][andor][1]=2&filter[anzahl][4]=10&filter[page][4]=1";

Hierbei wird die Spalte Vorname der Tabelle Kontakte nach "AlfredsFutterkiste" und "Nudelkisten" durchsucht. Nur Datensätze, die einer der beiden Kriterien entsprechen werden angezeigt.
Zudem ist angegeben, dass ohne Offset ausgelesen werden soll und max. 10 Ergebnisse angezeigt werden sollen.

Verknüpfung von Listenformularen

Um ein inneres Formular mit einem äußeren zu verknüpfen, erstellt man im äußeren Formular ein neues Unterformular mit dem Style div, dem Typ Unterformular und gibt als Unterformular das innere Formular an:

Unterformular Abb1.png

Siehe auch: Listenformulare

Darstellung

im Gegensatz zu den anderen Formularelementen können Verknüpfungstabellen nicht direkt über den Formulareditor formatiert werden, da Sie Teil des Standardformulars sind und an das globale Layout gebunden sind. Die Verknüpfungstabelle besteht zudem aus vielen Elementen wie Tabellenkopf, Tabelleninhalte und Menüs. Es besteht aber die Möglichkeit die vorhandenen Styles über eine angepasste CSS-Stylesheets-Datei die dem Formular zugewiesen werden kann zu überschreiben.

Beispiel
Example:
 .gtabFringeRelationBody{
 	border: 0;
 	background-color: transparent !important;
 }
 
 .gtabHeaderRelationTAB{
 	padding-bottom: 5px;
 	border: 0;
 }
 
 .gtabBodyTR{
 }
 
 .gtabBodyTD{
 	padding: 3px 0;
 }
 
 .lmbfringeGtabBody{
 	border-radius: 4px;
 }
 
 .gtabHeaderTitleTD{
 	font-size: 110%;
 }

Alternativ zur Verknüpfungstabelle kann ein Unterformular mit entsprechendem Filter erstellt werden. Verknüpfungen müssen dort dann aber durch entsprechende Erweiterungen selbst behandelt werden.

Datenbezeichnung

Bei Mausklick auf den Button für "Datenbezeichnung" wird in der Werkzeugleiste unterhalb der Buttons ein Baum der Tabellenfelder eingeblendet. Erst bei Mausklick auf eines dieser Tabellenfelder wird das Formularelement in der Formularansicht hinzugefügt.

Graphik

Bei Mausklick auf den Button für "Graphik" wird in der Werkzeugleiste unterhalb der Buttons ein Feld zur Eingabe einer Datei mit Pfad eingeblendet. Ist ein gültige Grafik-Datei eingetragen, so wird diese bei Mausklick auf "übernehmen" in der Formularansicht hinzugefügt.

Tabelle

Mit diesem Element kann eine html-Tabelle hinzugefügt werden. Spalten und Zeilen können frei definiert werden. Elemente werden durch Klick auf die gewünschte Zelle und dann auf das Element in die Tabelle eingefügt. Hinzugefügt oder gelöscht werden Zeilen immer nach der aktuell selektierten Zeile. Es ist möglich Tabellen zu verschachteln sowie Ramen und Gruppierungselemente in Zellen zu nutzen. Wird im Kontextmenü der Tabelle der Menüpunkt "Typ" nicht ausgewählt, richtet sich die Höhe der Tabelle nach Ihrem Inhalt. Wird statt dessen "auto, sichtbar oder abgeschnitten" ausgewählt, wird die definierte Höhe der Tabelle berücksichtigt und je nach ausgewältem "Typ" (entspricht css style overflow) dargestellt.

Datum

Datums-Auswahlfeld

Rechteck

Rechteck zur Layoutgestaltung

Menü-Leiste Gruppiert

Mit Hilfe dieses Rahmens können Elemente Gruppiert werden. Sparten werden automatisch als Reiter angelegt.

Tabulator-Rahmen

Mit Hilfe dieses Rahmens können ebenfalls Elemente Gruppiert werden. Tabulatoren können aber individuell definiert werden. Tabulatoren können links oder oben positioniert werden

Gruppierungs-Rahmen

Einfachster Gruppierungsrahmen ohne Tabulatoren. Dient zur schnellen Gruppierung von Elementen.

Submit-Button

sendet das Formular

Scroll-Leiste zum Blättern der Datensätze

Einzelne Fußleiste zum Weiterblättern

Text-Eingabefeld

eigenes Formularelement.

Textarea-Eingabefeld

eigenes Formularelement.

Select-Auswahlfeld

eigenes Formularelement.
möglich sind Werte durch Komma getrennt oder eine vorhandene Select-Pool ID

Checkbox-Element

eigenes Formularelement.

Radio-Element

eigenes Formularelement.

Hidden-Input

eigenes Formularelement.

Diagramm

zeigt ein bereits erstelltes Diagramm.

Wiedervorlage

erstellt einen Button um im Formular schnell eine Wiedervorlage anzulegen.
Als Parameter können bestimmte Voreinstellungen in Form eines Arrays angegeben werden:
return array(
    'datetime' => '10.03.2017 22:55', /* datetime string */
    'usergroups' => '1_u', /* e.g. '33_u;22_g;55_u' or '' for current user */
    'remark' => 'testtttt', /* string */
    'mail' => 0, /* 0 or 1 */
    'category' => 2, /* id of category */
    'hidecurrent' => 1 /* hides currently active reminders */
);

Workflow-Historie

zeigt eine Historie von Ereignissen des Workflows.

Java-Script

freies Javascript für eigenen Erweiterungen.

PHP-Script

freies PHP für eigene Erweiterungen. Auch include() oder Funktionsaufrufe möglich.
return 'hello world';
Beispiel: Einbinden eines Diagrammes (veraltet)

Mithife eines PHP-Scripts kann ein Diagramm, das mit dem LIMBAS Diagramm-Editor erstellt wurde, in ein Formular eingebunden werden. In folgendem Beispiel soll in der Tabelle Aufträge ein Kuchen-Diagramm darstellen, von welcher Art die verknüpften Positionen sind (Hardware/Software/Hosting/Serviceleistungen). Um das Diagramm einzubinden müssen 3 Dinge erstellt werden:

  1. Eine Abfrage
  2. Ein Diagramm basierend auf der Abfrage
  3. Ein PHP-Script, das das Diagramm darstellt

Zunächst muss also wie in der Dokumentation des Diagramm-Editors beschrieben eine Abfrage erstellt werden:

Formulare Abb.3.png

Die Abfrage stellt (gruppiert nach der Auftrags-ID) die Anzahl der verschiedenen Arten dar.

Danach wird ein neues Diagramm erstellt vom Typ Pie-Chart. Dieses erhält von LIMBAS die Tabellen-ID 15. Formulare Abb.4.png

Formulare Abb.5.png

Um das Diagramm in ein Formular einzubinden, wird zuerst ein PHP-Script erstellt und an die gewünschte Stelle gezogen. In diesem Beispiel wird folgender Code benutzt:

Einbinden der Datei diag_create.lib um das Diagramm zu erstellen:

global $umgvar;
include($umgvar["pfad"]."/../limbas_src/admin/diagramm/diag_create.lib");

Filter-Objekt erstellen, um nur die Daten des ausgewählten Datensatzes anzuzeigen. In diesem Beispielt wird festgelegt: Es sollen nur die Datensätze angezeigt werden, deren ID (Aus dem Feld ID (id:2) der Abfrage) der ID des ausgewählten Datensatzes ($gresult[$gtabid][1][0]) entspricht (Syntax ist Äquivalent zum $gsr-Parameter):

$gsr=array();
$gsr[58][2][0]=$gresult[$gtabid][1][0]; //ID der Abfrage entspricht ID des Datensatzes
$gsr[58][2]['num'][0]=1; //Numerischer Operator: =

Das Diagramm durch die Funktion lmb_create_diagram(Diagramm-ID [,Filter-Parameter]) erstellen und zurückgeben (wird kein Filter-Parameter übergeben, werden alle Datensätze der Abfrage berücksichtigt):

return lmb_create_diagram(15,$gsr);

Formulare Abb.6.png
  Abb.: Diagramm für Auftrag-ID 1

Selektieren eines Formularelements

Es kann immer nur ein Formularelement selektiert sein. Dieses erkennt man daran, dass es

  • in der Tabelle mit den aktuell verwendeten Formularelementen farblich hervorgehoben ist
  • in der Formularansicht an der unteren rechten Ecke ein Symbol zum auf/zusammenziehen hat

Das Selektieren eines Formularelements ist somit möglich durch

  • Mausklick auf den entsprechenden Eintrag in der Tabelle mit den aktuell verwendeten Formularelementen
  • Mausklick auf das entsprechende Element in der Formularansicht

Einstellen/Ändern der Eigenschaften eines Formularelements

Formulare Abb.7.png

Voraussetzung für das Einstellen/Ändern der Eigenschaften eines Formularelements ist, dass dieses selektiert ist.

  • Die Position lässt sich per Drag&Drop in der Formularansicht oder durch Eingabe der Koordinaten in der Werkzeugleiste ändern. Dabei entspricht X=0, Y=0 der oberen linken Ecke des Formulars. Handelt es sich um ein inneres Formularelement, so entspricht X=0, Y=0 der oberen linken Ecke des äußeren Formularelements.
  • Die Höhe und Breite lässt sich durch auf/zusammenziehen in der Formularansicht oder durch Eingabe entsprechender Werte (in Pixel) in der Werkzeugleiste ändern.


Beim Selektieren des Formularelements öffnet sich ein Kontext-Menü, welches die Einstellung weiterer Eigenschaften ermöglicht. Mit halten der STRG Taste können mehrere Elemente gleichzeitig ausgewählt und verschoben oder bearbeitet werden. Zusätzlich kann mit gedrückter Maustaste ein Ramen aufgezogen werden unter dem alle Elemente auf einmal ausgewählt werden. Das Kontextmenü reudziert sich in diesem Fall auf die Funktionen die gleichzeitig für mehrere Elemete ausgeführt werden können.

Folgende Menüpunkte/Anzeigen befinden sich bei allen Formularelementen im Kontext-Menü:

  • Die Element-Nr. ist eine eindeutige Identifikation (positive ganze Zahl) für das Formularelement. Beim Hinzufügen eines neuen Formularelements wird diese nicht änderbare ID von LIMBAS selbst gesetzt.
  • Der zIndex-Wert
    • bestimmt bei sich überlappenden Formularelementen, welches Element im Vorder- bzw. Hintergrund dargestellt wird: Dabei gilt, dass ein Element mit höherem zIndex-Wert sich vor einem Element mit niedrigeren zIndex-Wert befindet. Bei identischen Werten ist es dem Zufall überlassen, welches Element im Vorder- bzw Hintergrund gezeigt wird.
    • wird durch die Menüpunkte in den Vordergrund bzw. in den Hintergrund entsprechend verändert.
    • bestimmt, in welcher Reihenfolge Eingabefelder bei Benutzung des Formulars durch die Tabulator-Taste selektiert werden.
    • wird bei gesetzter globaler Formulareinstellung Z-Index berücksichtigen beim Selektieren eines Formularelements auf den im Formular aktuell höchsten Wert gesetzt: Hiermit lässt sich schnell die Reihenfolge, in der Eingabefelder bei Benutzung des Formulars durch die Tabulator-Taste selektiert werden, festlegen.
    • wird durch Z-Index erneuern allen Formularelementen neu zugewiesen, und zwar so dass es keine Lücken bei den zIndex-Werten gibt. Die bisherige Reihenfolge wird beibehalten.
  • Bei löschen wird das Formularelement ohne weitere Rückfrage gelöscht.

Folgende Menüpunkte/Anzeigen/Einstellmöglichkeiten befinden sich abhängig vom Typ des Formularelements im Kontext-Menü:

  • Bei kopieren wird das Formularelement mit den eingestellten Eigenschaften kopiert.
  • Bei einigen Formularelementen kann auf die Ereignisse "OnClick", "OnDblClick", "OnChange", "OnMouseOver" und "OnMouseOut" mit mittels JavaScript definierten Aktionen reagiert werden.
  • Bei Formularelementen mit Text lässt sich der Font, die Größe, die Darstellung, die Fontfarbe und die Hintergrundfarbe des Textes einstellen.
  • Bei Formularelementen mit Rahmen lässt sich neben der Rahmenfarbe, der Art und der Dicke auch einstellen, welche Kanten (links, rechts, oben, unten) gerahmt werden.
    • Bei Formularelementen, die innerhalb des Rahmens Text oder Grafik zeigen, wird durch Form festgelegt, ob diese Informationen ggf. abgeschnitten werden, falls sie nicht genügend Platz haben, ob sie ggf. über den Rahmen hinaus sichtbar sein sollen, ob ein Scrollbar fest oder automatisch eingeblendet werden soll. Weiter gibt es eine Einstellung für den Mindest-Abstand vom Rahmen zum Text.
    • Bei Tabellen lässt sich mit Rand einstellen, ob der Rahmen der Tabelle ggf. mit dem Rahmen einzelner Tabellenelemente zusammen oder getrennt gezeigt werden soll.
  • Wenn bei den globalen Formulareinstellungen ein CSS-Datei ausgewählt ist, erscheint bei einigen Formularelementen ein zusätzlicher Menüpunkt Class. Wird hier eine CSS-Klasse ausgewählt, so werden für das Formularelement die Formatierungen dieser Klasse verwendet, es sei denn diese werden durch eine andere hier vorgenommene Einstellung überschrieben.
  • Bei Tabellen lässt sich die Anzahl der Spalten und Zeilen einstellen.
  • Das Tabulator-Element kann per neuer Tabulator mit zusätzlichen Tabulatoren erweitert werden.
  • Bei einigen Formularelementen lässt sich per Transp. ein Durchscheinen von anderen im Hintergrund liegenden Formularelementen einstellen.
  • Bei Formularelementen zur Eingabe von Text kann mittels maxlen die maximal zulässige Zeichenzahl eingestellt werden.
  • Beim Unterformular lässt sich in der Ansicht einstellen, ob im Unterformular Eingaben zulässig sind (bearbeiten) oder nicht (detail).
  • Parameter (Unterformular)
  • Bei Menü-Leiste Gruppiert kann über den Parameter eingestellt werden, ob Verknüpfungsreiter, Menüleiste, Symbolleiste und/oder Fußleiste angezeigt/ausgeblendet werden sollen.
  • Auswahl (nur Tabellen)
  • Bei Dateninhalt kann eingestellt werden, ob nur lesen oder auch ändern des Dateninhalts erlaubt ist.
  • Wird bei Dateninhalt das Häkchen für ersetzen gesetzt und sofort danach ein neues Dateninhalt-Formularelement, das mit einem anderen Tabellenelement verknüpft ist, erstellt, so wird das ursprüngliche Formularelement gelöscht und dem neuen werden die Eigenschaften des ursprünglichen zugewiesen. Diese Funktionalität kann zusammen mit der Kopier-Funktion das Platzieren mehrerer Dateninhalt-Formularelemente auf dem Formular erleichtern. Das Häkchen wird automatisch nach der folgenden Aktion gelöscht.

Tabulatoren

Das Formular hat zwei Möglichkeiten Inhalte in Tabulatorreiter zu untergliedern.

Sparte&Hauptmenü-Rahmen

Die erste und einfachste Variante ist den Feldtyp "Sparte" in der Tabelle zu nutzen. Dazu wird ein neues Feld in die entsprechende Tabelle mit dem Typ "Sparte" hinzugefügt. Das Formular muß ein "Hauptmenü-Rahmen" Element besitzen. In diesem wird jede "Sparte" als Tabulator mit dem Namen des Feldes dargestellt. Der erste Tabulator "all elements" sorgt dafür das seine Unterelemente in allen Tabulatoren angezeigt werden. Zum Hinzufügen von Unterelementen muß der Tabulator ausgewählt werden durch einen rot umrandeten Bereich hervorgehoben wird. Das nun hinzugefügte Element wird relativ zum Tabulatorrahmen angezeigt. Dem "Sparten" Feld in den Tabellenfeldeinstellungen kann ein JavaScript Click-Event zugewiesen werden was beim drücken auf den Tabulator ausgeführt wird. Die Option "ajaxpost" sorgt dafür das der Inhalt des Tabulator-Bereichs erst bei Auswahl nachgeladen wird. Das kann bei längeren Abfragen Performance sparen da ja nicht immer alle Bereiche ausgewählt werden.

Tabulatorrahmen

Dieses Formularelement erlaubt eine freie Auswahl an Tabulatorbereichen zu definieren. Es können zusätzlich Tabulatorrahmen ineinander verschachtelt werden. Außerdem können die Tabulatoren Horizontal oder Vertikal angeordnet werden. Es stehen die Formatierungsoptionen von Formularelementen zu Verfügung.