Das sd:input-text- Element

Erzeugt ein Eingabefeld für die in sd:col angegebene Spalte. Normalerweise wird ein gewöhnliches Eingabefeld (<input type='text'/>) erzeugt. Falls für die Spalte eine einfache Relation mit einer Auflistung von Werten oder eine Standard-Relation mit Verweis auf eine Grundtabelle definiert ist, wird ein Pulldownfeld (<select>) definiert und mit den passenden Werten gefüllt. In diesen Fällen werden innere Elemente des sd:input-text-Elements nicht berücksichtigt.

Ist für die Spalte eine Relation auf eine Bittabelle definiert, so werden die benötigten Checkbox-Elemente entweder automatisiert (zwei Checkboxen pro Zeile) erzeugt oder es werden die Child-Elemente sd:bit-rows oder sd:bit-details genutzt. Ersteres erlaubt die Definition einer Beschriftung sowie einer Checkbox und erstellt zu jeder Zeile der Bittabelle ein passendes Element. Das zweite Element erlaubt die individuelle Definition für jede Zeile der Bittabelle. Erhält allerdings die Bittabelle neue Werte, so werden diese nicht automatisch ergänzt.

Der Datentyp Bit/Boolean wird als ein Pulldown-Feld mit Werten Ja/Nein oder ähnlichem gemäß dem definierten Typ ausgegeben. Für den Typ 'checkbox' wird eine Html-Checkbox eingefügt.

Falls es sich um ein Textfeld mit der Spalteneigenschaft 'Höhe des Eingabefeldes' > 1 handelt, wird das Eingabefeld als Html-textarea - Feld mit der Zahl der Zeilen erzeugt, wie sie durch 'Höhe des Eingabefeldes' festgelegt ist. Unabhängig von dieser datenbankbezogenen Einstellung können auch die Attribute sd:rows/sd:cols mit Werten > 1 verwendet werden, um die Erstellung eines textarea-Feldes zu veranlassen. Ist umgekehrt sd:row='1' festgelegt, so wird das Feld immer als gewöhnliches Textfeld ausgegeben, auch wenn 'Höhe des Eingabefeldes' > 1 festgelegt wurde.

Das Element kann unabhängig von einer Eingabetabelle verwendet werden, falls das sd:param-name -Attribut den Namen eines sd:param -Elements bezeichnet. In diesem Fall wird der vom Benutzer in das Feld eingegebene Wert dem sd:param -Element zugewiesen. Damit steht bsp. eine Möglichkeit bereit, einen Sql-Parameter für eine Abfrage durch die Eingabe in ein Textfeld festlegen zu lassen. Der Wert von sd:col wird in diesem Fall ignoriert.

Typ
Äußere Elemente
Attribute
sd:col
Legt den Namen der Spalte fest, für welche ein Eingabefeld erstellt wird
sd:param-name
Ist dieses Attribut mit dem gültigen Namen eines sd:param -Elements belegt, so wird der vom Benutzer eingegebene Wert in diesem Feld dem sd:param -Element zugeordnet.
sd:datetime-format
Legt das Datums- und Zeitformat für diese Zell-Ausgabe fest. Entweder werden Standardmuster verwendet oder es wird mit einer Kombination von Formatmustern ein eigenes Muster definiert (näheres siehe Formate für Datum / Zeit ). Die Einträge werden relativ zur Spracheinstellung des Clientbrowsers ausgewertet. Dieses Verhalten kann mithilfe des sd:culture -Attributes verändert werden, so daß an alle Clients dieselbe Darstellung ausgegeben wird.
sd:number-format
Legt das Zahlformat für diese Zell-Ausgabe fest. Analog zum sd:datetime-format wird die Darstellung zusätzlich von der Ländereinstellung des Clientbrowsers beeinflußt. Näheres zu vor- und selbstdefinierten Zahlmustern findet sich unter Formate für Zahlen .
sd:culture
Normalerweise werden Datums- und Zahlausgaben gemäß den aktuellen Ländereinstellungen des Clientbrowsers formatiert. Ein Browser, der die Kennung 'en-US' sendet, erhält eine andere Ausgabe als ein Browser mit 'de-DE'. Falls dieses Verhalten nicht gewünscht ist, kann mit dem sd:culture - Attribut eine Kultur für die Ausgabe dieser Zelle fixiert und die Browsereinstellung hierdurch überschrieben werden. Näheres hierzu ist unter Kultur-spezifische Ausgaben zu finden.
sd:cols
Ist dieses Attribut mit einem Wert > 1 belegt, so wird das Eingabefeld als textarea-Element dargestellt, so daß mit sd:rows > 1 mehrere Zeilen eingegeben werden können. sd:cols legt die Breite dieses Elements fest.
sd:rows
Zusammen mit sd:cols legt dieses Attribut Zeilen und Spalten für das textarea-Element fest. Falls dieses Attribut angegeben und = 1 ist, wird ein einfaches Textfeld erzeugt. Das kann verwendet werden, um den für diese Spalte definierten Wert der 'Höhe des Eingabefeldes' zu überschreiben.
sd:skip-textarea
Falls mit 'true' belegt, wird das Eingabefeld auf jeden Fall als einfache Texteingabe, nicht als Textarea-Feld ausgegeben, auch wenn die Standarddefinition ein mehrzeiliges Textarea-Feld vorsieht.
sd:as-radio
Falls für die aktuelle Spalte eine Relation definiert ist und dieses Attribut den Wert 'true' hat, werden die einzelnen Werte der Relation als ein Feld von Radio-Buttons eingefügt. Aus diesen wird zur Laufzeit ein Wert ausgewählt. Gegenüber Relationen sind hier alle Werte sofort sichtbar. Allerdings läßt sich so nur eine gewisse Zahl von Elementen übersichtlich ausgeben, ferner steht kein Blättern / Suchen zur Verfügung.
sd:radio-reset
Wenn das aktuelle sd:input-text -Element eine Bitspalte (oder eine Integerspalte mit nur zwei Werten ja / nein) ausgibt und diese als Radiobuttons formatiert, dann läßt sich nach dem Anklicken eines Eintrages nur noch der andere Wert auswählen. Es ist - aufgrund der Eigenschaften von Radio-Buttons - nicht mehr möglich, beide Optionen auszugeben, ohne daß eine Option gewählt wird. In Fällen, in welchen ein explizites Zurücksetzen gewünscht ist, kann dieses Attribut mit einer Beschriftung belegt werden. Dann wird ein dritter Radiobutton mit dieser Beschriftung ausgegeben. Die Wahl von diesem schickt einen Leerstring, so daß beim nächsten Aufruf alle drei Optionen frei sind.
sd:as-select
Falls für die aktuelle Spalte eine Relation auf eine bitSet-Tabelle deklariert ist und dieses Attribut den Wert 'true' hat, werden die einzelnen Zeilen der bitSet-Tabelle als ein Select-Listenfeld ausgegeben.
sd:as-pfilter
Kann mit dem Namen eines sd:button -Elements belegt werden. Ist das übergeordnete sd:input-table -Element als Autofilter markiert, dann wird dieses Eingabefeld als Pulldownliste ausgegeben. Nach dem Auswählen eines Elements wird der Befehl ausgeführt, der dem Klick auf das sd:button -Element entspricht.

Damit lassen sich manuelle Suchen (bsp. eine Volltextsuche) mit Autofilter-Suchtechniken kombinieren.

sd:as-checkbox
Falls 'true', wird ein Html-Checkbox-Element zum Anklicken eingefügt. Der Wert muß es zulassen, als 0 oder 1 interpretiert zu werden.
sd:skip-boolean-and
Bei bitSet-Spalten wird inzwischen eine Zusatzmöglichkeit zum Anhaken ausgegeben: 'Kombisuche'. Ist diese angehakt, dann werden bei mehreren angehakten Optionen nur jene Zeilen ausgegeben, die alle Optionen erfüllen. Wenn diese Option 'Kombisuche' nicht ausgegeben werden soll, dann kann dieses Attribut auf 'true' gesetzt werden.
sd:skip-image-remove-checkbox
Ist dieses Attribut mit dem Wert 'true' belegt, dann wird die standardmäßig ausgegebene Checkbox zum Löschen des Feldinhaltes unterdrückt.
sd:skip-br-between-image-remove-checkbox
Ist dieses Attribut mit 'true' belegt, dann wird der standardmäßig zwischen File-Upload und Checkbox zum Löschen eingefügte Zeilenumbruch (br-Element) übersprungen.
sd:only-image-remove-checkbox
Bei Bildern / Dateien wird standardmäßig eine Checkbox zum Löschen dieser Zelle (unabhängig vom Löschen der Datenzeile) ausgegeben. Soll diese Checkbox eigenständig postiert / formatiert werden, kann ein sd:input-text -Element mit diesem Attribut und dem Wert 'true' genutzt werden.
sd:label-remove
Dieses Attribut kann mit einer Beschriftung belegt werden. Dann wird anstelle des Standard-Textes 'Löschen' die Checkbox zum Löschen eines Image-Eintrages mit dieser Beschriftung ausgegeben.
sd:is-main
Gültige Werte sind
true
false
'true' legt fest, daß das aktuelle Element nicht zur Detail-, sondern zur übergeordneten Haupttabelle gehört. Das übergeordnete sd:input-table -Element muß das sd:main -Attribut enthalten, um den Namen der gewünschten Haupttabelle festzulegen.
sd:main-edit
Erfordert einen Ausdruck der Form Tabellenname.Spaltenname. Dieser Ausdruck wird als Name der zugeordneten Haupttabelle interpretiert und der Wert zum Editieren angeboten.
sd:detail
Legt den Namen der Detailspalte fest
sd:as-value
Gültige Werte sind
true
false
'true' legt fest, daß der Inhalt des aktuellen Elements als gewöhnlicher Text ausgegeben werden soll. Dies ist bsp. nützlich, wenn die Zelle eine Url enthält, die zusätzlich als Link ausgegeben werden soll.
sd:anchor
Das Attribut muß mit einer ID der aktuellen Seite belegt werden. Dann wird der Wert mit vorgestelltem '#' an die Url angehängt, so daß die Seite mit dieser ID als Anker angezeigt wird.
sd:anchor-suffix
Dem Ankerelement kann zusätzlich ein zeilenabhängiger Wert, bsp. die Zeilennummer oder die ZeilenId (ROW_NUMBER bzw. ROW_ID) angehängt werden. Dieser Wert wird direkt an den Eintrag @sd:anchor angefügt. Nützlich bsp. in Unterformularen, falls die Auswahlliste mit sd:with-postback definiert ist und der Browser die aktuelle Zeile sofort anzeigen soll.
sd:show-relation-text
Gültige Werte sind true/false. Falls mit 'true' belegt, wird der Klartextwert der Relation ausgegeben
sd:show-text-length-counter
Ist dieses Attribut mit 'true' belegt, dann wird ein zusätzliches Feld mit der noch zulässigen Zahl von Zeichen angegeben.
sd:function
Ermöglicht die Deklaration einer Funktion, die verwendet wird, um den ermittelten Wert zu transferieren. Gültige Werte sind derzeit:

  • dateadd|days|1: Wenn der ermittelte Wert ein Datum ist, dann zählt dieser Funktionsaufruf einen Tag hinzu. Dies ist bsp. nützlich, falls eine Seite eine Tagesliste enthält, das Datum über ein sd:param-Element übergeben wird und ein Link für die Anzeige des nächsten Tages benötigt wird.

    Für die mittlere Position sind Werte minutes, hours, days, weeks, months und years zulässig. Die letzte Position enthält eine Ganzzahl - negative Zahlen erzeugen ältere Datumsangaben.

  • get-extension: Der ermittelte Wert wird als Text betrachtet und an diese Funktion übergeben. Sie betrachtet den Input als Dateinamen und gibt die Endung einschließlich '.' zurück.
  • get-filename-without-extension: Der ermittelte Wert wird als Text betrachtet und an diese Funktion übergeben. Zurückgegeben wird der Dateiname ohne Endung und ohne Punkt am Ende.
sd:null-option
Dieses Attribut kann beliebigen Text enthalten. Falls das Attribut nicht belegt ist, wird zum Suchen als erster Wert '---' ausgegeben. Ist das Attribut belegt, so wird der Attributwert zur Anzeige genutzt.
sd:with-postback
Gültige Werte sind
true
false
'true' legt fest, daß dem Element ein onChange-Attribut hinzugefügt wird, das die Datenänderung dem Server meldet. Dies kann bei Pulldown-Feldern nützlich sein, die bsp. ein Kalenderelement aktualisieren sollen. Diese Technik erspart einen zusätzlichen 'Senden' - Button.
sd:skip-postback
Es kann Fälle geben, in welchen eine Pulldown-Liste mit einem automatischen Postback eingefügt wird, dieses Verhalten aber unerwünscht ist. Der Wert 'true' unterdrückt dieses Standardverhalten.
sd:skip-rel-steps
Ist das aktuelle sd:input-text -Element mit einer Relation definiert, dann unterdrückt ein Wert 'true' für dieses Attribut die Generierung von Klickpfeilen und Suchbox für diese Relation.
sd:instead-null
Falls ein Datensatz neu angelegt wird und bsp. ein sd:param -Element namens 'time' über einen Link mit dem Wert '12:00' belegt wurde, so kann dieses Attribut mit dem Wert '$time' belegt werden. Das Eingabefeld wird mit diesem Wert vorbelegt.
Dies liefert eine Funktionalität, welche durch die Definition eines Standardwertes nicht erreicht werden kann. Damit ist es bsp. möglich, ein kleines Formular innerhalb eines Tageskalenders mit verschiedenen Uhrzeiten anzusteuern, so daß die gewählte Uhrzeit als Vorbelegung dient.
sd:search-if-exists
Bezeichnet der Attributwert den Namen eines gecachten Wertes, dann wird dieser als Standardwert für die Suche genutzt. Der Unterschied zum sd:ro-value -Element besteht darin, daß dieser Wert sichtbar angezeigt und vom Nutzer geändert werden kann.
sd:edit-override
Wenn dieses Attribut mit dem Namen eines sd:param -Elements belegt ist und der Datensatz neu angelegt oder editiert wird, dann wird der aktuelle Wert dieses sd:param - Elements ausgegeben.
sd:edit-override-from-cache
Wenn dieses Attribut mit dem Namen eines gecachten Wertes belegt ist und der Datensatz neu angelegt oder editiert wird, dann wird der aktuelle Cachewert ausgegeben.
sd:new-disabled
Wenn dieses Attribut mit 'true' belegt ist, dann wird das Feld beim Neuerstellen eines Datensatzes als 'disabled' dargestellt.
sd:edit-disabled
Wenn dieses Attribut mit 'true' belegt ist, dann wird das Feld beim Editieren als 'disabled' dargestellt. Für den Nutzer ist eine solche Darstellung hilfreich, falls die Werte nicht mehr editierbar sein sollen. Dies verhindert nicht, daß jemand manuell eine Ausgabeseite konstruiert und von diesem Formular her Daten zurückschickt, die Änderungen in dieser Spalte enthalten. Zum tatsächlichen Schutz vor Änderungen ist deshalb das sd:ro-value -Element mit belegtem sd:std-value -Attribut (Attributwert = Spaltenname) notwendig.
sd:search-disabled
Wenn dieses Attribut mit 'true' belegt ist und die zugeordnete Eingabemaske im Suchmodus (nicht Neu/Edit) angezeigt wird, dann wird das Eingabefeld als disabled dargestellt, so daß keine Daten eingegeben werden können.
sd:allow-first-disallow-edit
Wenn dieses Attribut zwei durch '|' getrennte CSS-Klassen enthält, dann wird das Eingabefeld im Editiermodus zum Bearbeiten ausgegeben, falls die Spalte noch keinen Wert enthält. Zur Formatierung wird die erste CSS-Klasse genutzt. Enthält die Spalte (etwa bei einem späteren Aufruf) bereits einen Wert, dann ist die Bearbeitung gesperrt, die zweite CSS-Klasse wird zur Formatierung genutzt.

Korrespondierend sollte ein sd:ro-value - Element der Form

<sd:ro-value sd:for='Objekt' sd:col='Spalte' sd:std-value='^Spalte'/>
in der Seite notiert werden. Das dem Spaltennamen vorgestellte '^' ermöglicht im Editiermodus diese Funktion und stellt sicher, daß auch bei einer manipulierten Rücksendung und einem bereits vorhandenen Altwert dieser beibehalten wird.
sd:elements-per-row
Enthält dieses Attribut eine Ganzzahl, dann wird der Content des Elements entsprechend oft ausgeführt, bevor ein Zeilenumbruch eingefügt wird.
sd:detail-source-column
Kann den Namen einer Spalte der Verknüpfungstabelle enthalten. Diese Spalte wird mit dem Primärschlüsseleintrag belegt, der zurückgeschickt wird.
sd:detail-source-output
Kann den Namen einer Spalte enthalten. Falls im Kontext eines sd:input-text mit einem sd:detail definiert, muß der Name von der Form Objektname.Spaltenname sein. Dann bezeichnet das die Ausgabe einer Abfrage, so daß Detailwerte zum Anhaken ausgegeben werden (anstelle der Standardfunktionalität über ein Unterformular).
sd:label-list
Falls dieses Attribut mit einer pipe-getrennten Liste ('|') von Beschriftungen belegt ist, das sd:value-list -Attribut analog Werte enthält und die Spalte als Pulldown-Liste ausgegeben wird, werden die zugeordneten Kombinationen am Ende der Pulldown-Liste hinzugefügt. Dies ermöglicht es auf einfache Weise, bsp. Randwerte aus mehreren Tabellen zusammen auszugeben und sie als Eingabefilter für Kalenderelemente zu nutzen.
sd:value-list
Muß, analog zum sd:label-list -Attribut, mit einer pipe-getrennten Liste von Werten belegt werden.
sd:additional-columns
Kann eine semikolongetrennte Liste von zusätzlichen Spalten enthalten. Ist nutzbar bei Spalten mit Relationen. Diese müssen per additional_Columns zusätzliche Spalten zurückliefern. Werden diese in diesem Attribut benannt, werden die Werte den options-Elementen als Attribute beigefügt.

<option value='ZeilenId' Spaltenname='Spaltenwert'>Standardwert</option>

sd:delimiter
definiert den Trenner, der zwischen zwei Zellen eingefügt wird. Dieses Attribut kann nützlich sein, falls die Daten nicht in Form einer Tabelle, sondern bsp. in Form einer kommagetrennten Liste ausgegeben werden. Würde das Komma innerhalb des sd:normal- oder sd:alternate-Elements eingefügt werden, so würde es auch nach der letzten Spalte ausgegeben werden. Der Wert des sd:delimiter -Attributes wird dagegen nur zwischen den Spalten erzeugt und für die letzte Spalte unterdrückt.
sd:delimiter-element
definiert den Trenner, der als Html-Element zwischen zwei Elemente eingefügt wird. Ein Attributwert 'br' generiert das Html-Element <br/>.
sd:search-without-null
Wenn Eingabefelder im Rahmen einer Suche dazu dienen, Parameter für eine Abfrage bereitzustellen und Leerfelder unterbunden werden sollen, dann kann dieses Attribut mit 'true' belegt werden. Die '---' Option wird entfernt.
sd:edit-without-null
Wenn ein Feld nicht als Pflichtfeld definiert werden kann, es beim Editieren aber ohne Null-Option ausgegeben werden soll, dann kann dies durch dieses Attribut, mit 'true' belegt, erreicht werden.
sd:value-of
Ermöglicht die Festlegung eines Wertes, der ausgegeben wird. Das Attribut ist nützlich, falls bsp. ein Eingabefeld in Abhängigkeit von gecachten Werten verschiedenartig ausgegeben und mit unterschiedlichen Vorbelegungen angezeigt werden soll.
sd:lang
Diesem Attribut muß als Wert einer der Länderkürzel zugewiesen werden. Da Browser Sprachangaben teils in Großbuchstaben, teils als Kleinbuchstaben zurückliefern, sind hier nur Kleinbuchstaben zulässig. Näheres zu zulässigen Kulturen ist unter Kultur-spezifische Ausgaben aufgeführt.
sd:additional-label
Ermöglicht die Festlegung einer zusätzlichen Beschriftung. Bei einem Datentyp ftpFile wird das als Beschriftung anstelle 'Löschen' ausgegeben.
sd:skip-wiki-help
Wenn das Feld als Wiki-Code deklariert ist, dann wird eine zusätzliche Leiste mit Buttons ausgegeben. Hat die Tabelle mehrere Wiki-Code - Spalten, dann kann das störend sein. Dieses Attribut mit dem Wert 'true' belegt sorgt dafür, daß die Button-Leiste nicht eingebaut wird.
sd:only-user
Wenn mit 'true' belegt und wenn das Element die Spalte _Owner ausgibt, werden nur Nutzer, keine Gruppen ausgegeben.
sd:as-rtf
Wenn dieses Attribut mit 'true' belegt ist, dann wird das Eingabefeld als Textarea-Feld mit zusätzlichen Formatierungsmöglichkeiten ausgegeben.
sd:show-culture-infos
Ist dieses Attribut mit dem Wert 'true' belegt, so wird das Eingabefeld als Pulldown-Liste mit den für die aktuelle Datenbank definierten Sprachen für die Mailbenachrichtigungen gefüllt.
Html-Attribute erlaubt
Innere Elemente


Kontaktformular:

Schreiben Sie mir und wir bauen gemeinsam Ihre neue Web-Datenbank!

Die Erläuterungen zum Datenschutz habe ich gelesen und stimme diesen zu.

© 2003-2019 Jürgen Auer, Berlin.