[[esp:extensions:ajaxform:ajaxfield]] tdb Aplication Server

Route:

      - Funktion ajaxField()
        - Feld- und Darstellungsarten
          - Klassische Combo-Box (Auswahl mit freier Eingabe)
          - Kombiniertes Datums- und Uhrzeitfeld
          - Datumsfeld
          - Uhrzeitfeld
        - Parameter
          - field
          - hidden
          - type
            - Mögliche Werte für Type
            - Beispiel
          - onchange
          - style
          - class
      - Parameter für spezielle Feldtypen
        - Typ Text
          - mode
        - Typ Boolean
          - mode
          - true
          - false
            - Beispiele
        - Typ Select
          - options
          - factory
        - Typ Combo
          - options
          - factory

Funktion ajaxField()

Feld- und Darstellungsarten

Klassische Combo-Box (Auswahl mit freier Eingabe)
image

Kombiniertes Datums- und Uhrzeitfeld
image

Datumsfeld
image

Uhrzeitfeld
image image


Parameter

field
Der Name des abzubildenden Datenfeldes wird mit dem Parameter field übergeben. Dabei muss es sich um den identischen Bezeichner des Feldes in der Datentabelle handeln, wenn nicht der Parameter load="false" definiert wurde.

Die Angabe von field ist zwingend erforderlich

hidden
Mit hidden="true" wird das Feld zu einem unsichtbaren Datenfeld. Es wird dann zwar geladen und auch zum Speichern übertragen, ist aber nirgends sichtbar.

Die Angabe von hidden ist optional.

type
Mit type kann der Darstellungstyp des Feldes festgelegt werden. Wird type nicht angegeben, dann wird das Feld immer als reines Texteingabefeld angelegt.
Für ajaxField ist der Datentyp des Feldes innerhalb der Tabelle prinzipiell unerheblich. Erst mit der Bestimmung von type wird die Darstellung entsprechend angepasst.
Ein Feld vom Type UTIME würde also ohne Angabe von type als blankes Textfeld dargestellt. Erst durch die Angabe type="datetime" wird daraus ein Datums-/Zeit-Picker-Feld.

Mögliche Werte für Type

Manche Feldtypen können noch unterschiedliche Ausprägungen haben, die dann über den Parameter mode festgelegt werden.

Beispiel

ajaxField('field="Geburtstag" type="date"')

Die Angabe von Type ist optional.

onchange
Im Parameter onchange kann eine Javascript-Funktion angegeben werden, die ausgeführt wird, wenn sich der Inhalt des Feldes verändert.
Dadurch lassen sich z.B. leicht Eingabe-Prüfung vornehmen.

Die Angabe von onchange ist optional.

style

CSS-Inline-Angaben können im Attribute style gemacht werden. Dabei werden etwaige CSS-Regeln aus der/den in class angegebenen CSS-Klassen überschrieben.

Beispiel style="width:500px; border-color:green;"

Die Angabe von style ist optional.

class

Mit class können eine oder mehrere CSS-Klassen bestimmt werden, die auf das Feld wirken sollen.

Die Angabe von class ist optional.

Parameter für spezielle Feldtypen

Typ Text
mode
Mit mode="password" kann ein einfaches Textfeld zu einem Passworteingabefeld umfunktioniert werden.

Achtung: Die Daten werden trotzdem übertragen, lediglich die direkte Anzeige wird verhindert

Typ Boolean
mode
Wenn mode nicht explizit verändert wird, dann wird das Feld als Checkbox dargestellt. Alternativ kann ein Ja/Nein-Feld auch in Form zweier gekoppelter Radio-Buttons abgebildet werden.
Dazu muss mode="radio" angegeben werden. In diesem Fall werden die weiteren Attribute true und false interessant, mit denen der Anzeigetext bestimmt werden kann.

true
Mit dem Parameter true kann der anzuzeigende Text für JA/WAHR/GESETZT bestimmt werden, wenn das Boolean-Feld im modus="radio" betrieben wird.

Die Angabe von true ist optional.

false
Mit dem Parameter false kann der anzuzeigende Text für NEIN/FALSCH bestimmt werden, wenn das Boolean-Feld im modus="radio" betrieben wird.

Die Angabe von false ist optional.

Beispiele
ajaxField('field="UserHatRecht" type="boolean"') //einfache Checkbox ajaxField('field="UserHatRecht" type="boolean" mode="radio" true="hat Recht" false="hat Recht nicht"') //2 Radio-Buttons mit entsprechender Beschriftung


Typ Select
options
Der Parameter options enthält die Liste der Optionen, die im Select-Feld angeboten werden. Die Optionen werden dabei fortlaufend, durch Komma getrennt, aneinandergereiht.
Beispiel options="Kunde,Händler,Presse,Berater,Aushilfe"
Um nun auch andere Werte verwenden zu können, als die Anzeigetexte, kann die Optionenliste um Werte erweitert werden.
Beispiel options="[1]Kunde,[2]Händler,[3]Presse,[4]Berater,[5]Aushilfe"
Im Select-Feld erscheinen zwar für den Benutzer die Klartexte wie "Kunde", aber beim Laden und Speichern werden die in den eckigen Klammern definierten Werte verwendet.

factory
Da, aufgrund der Beschränkung der tdbengine auf 255 Zeichen pro String, nicht beliebig viele Werte im Parameter options übergeben werden können, kann man den Parameter factory benutzen, um beliebige Optionslisten zu übergeben.
Im Parameter factory wird dabei eine EASY-Funktion benannt, die beim Generieren des Formularfeldes ausgeführt wird und die Liste der Optionen als Ramtext liefert.
In jeder Zeile dieses Ramtextes steht genau eine Option.
Mit Hilfe einer solchen Factory können leicht Optionslisten mit Daten aus Tabellen generiert werden.
Die Befüllung findet serverseitig bereits während der Ausführung statt.

Beispiel
procedure getSelectItems : string var f : INTEGER = rewrite("ramtext:liste") writeln(f,"[1]Kunde") writeln(f,"[2]Händler") writeln(f,"[3]Presse") writeln(f,"[4]Berater") writeln(f,"[5]Aushilfe") close(f) return "ramtext:liste" endproc

ajaxField('field="Adresstyp" type="select" factory="getSelectItems"')

Typ Combo
options
Der Parameter options enthält die Liste der Optionen, die im Combo-Feld angeboten werden. Die Optionen werden dabei fortlaufend, durch Komma getrennt, aneinandergereiht.
Beispiel options="Kunde,Händler,Presse,Berater,Aushilfe"
Um nun auch andere Werte verwenden zu können, als die Anzeigetexte, kann die Optionenliste um Werte erweitert werden.
Beispiel options="[1]Kunde,[2]Händler,[3]Presse,[4]Berater,[5]Aushilfe"
Im Combo-Feld erscheinen zwar für den Benutzer die Klartexte wie "Kunde" innerhalb der Dropdownliste, aber bei der Auswahl einer Option werden die in den eckigen Klammern definierten Werte verwendet und im Feld dargestellt.

factory
Da, aufgrund der Beschränkung der tdbengine auf 255 Zeichen pro String, nicht beliebig viele Werte im Parameter options übergeben werden können, kann man den Parameter factory benutzen, um beliebige Optionslisten zu übergeben.
Im Parameter factory wird dabei eine EASY-Funktion benannt, die beim Generieren des Formularfeldes ausgeführt wird und die Liste der Optionen als Ramtext liefert.
In jeder Zeile dieses Ramtextes steht genau eine Option.
Mit Hilfe einer solchen Factory können leicht Optionslisten mit Daten aus Tabellen generiert werden.
Die Befüllung findet serverseitig bereits während der Ausführung statt.

Beispiel
procedure getSelectItems : string var f : INTEGER = rewrite("ramtext:liste") writeln(f,"[1]Kunde") writeln(f,"[2]Händler") writeln(f,"[3]Presse") writeln(f,"[4]Berater") writeln(f,"[5]Aushilfe") close(f) return "ramtext:liste" endproc

ajaxField('field="Adresstyp" type="combo" factory="getSelectItems"')

esp:extensions:ajaxform:ajaxfield, Rev. 17, Zuletzt geändert 2006-11-30 11:53, 2557 Aufrufe
Wiki hosted for free at wikihost.org || RSS-Feed || GeboGebo 1.3.3 || 00.396 Sekunden || || PAGERANK TOOLS