26. Juli 2010 

Listboxen sind mein Allerweltswerkzeug. Mehrreihige Zeilen wäre schön, unterschiedliche hohe Zeilen je nach Inhalt wäre extrakallifragilisticsuperunerwartet oder so …

Weil die Listboxen so praktisch sind, wächst meine generische Methode, dies und das mit einer Listbox anzustellen ständig. Auf dieser Website findet sich u.a. die Beschreibung die Rollbalken einer Listbox generisch an- und auszuschalten. Jetzt diese Ergänzung

Listbox in HTML

Dieser Tage brauchte ich eine Umwandlung in HTML. Der Aufruf sieht so aus:
ListBox_GenService ("Listbox_2_HTMLTable";$lb_ObjOtherNames;0;->$htmlCode_T)
In $1 steht was getan werden soll, in $2 der Name des Listbox-Objektes, $3 wird hier nicht gebraucht und in $4 wird ein Pointer auf das Ergebnis, in dieser Verwendung der fertige HTML-Text, übergeben.

lbgeneric

Und hier der Code. Bild anklicken oder auf den Schreibtisch ziehen für eine lesbare Darstellung.

Die notwendige Vorbreitung, d.h. die Listbox auszulesen, habe ich unter Rollbalken an-ausschalten bereits beschrieben.

An dieser Stelle die Beschreibung der Besonderheiten in diesem Anwendungsfall:

  • Mit der V12 können die Button-Texte ausgelesen werden.
  • Endlich, wie lange habe ich auf OBJECT Get title gewartet? Lange ;-) Steht dort jedoch ein xliff-Verweis drin, holt der Code den XLiff-Inhalt. Also ":xliff:" abschneiden und per Get localized string den dargestellten Inhalt = Buttonbeschriftung holen.
  • field_2_Text ist mein generischer Konverter, um Felder und Variablen in Text zu konvertieren.
  • Alleine diese Methode ist ein Thema für sich.

Das war es. Dann wird aus dieser Listbox ohne Kopf, Linien und Rollbalken als 4D-Formular

lb

diese HTML-Tabelle, hier mit Kopf und grauem Hintergrund im Kopf, in einer 4D WebArea:

htmlTable

Die Gestaltung regelt CSS. Die Class-Namen des CSS sind mit dem Designer abgesprochen, in XLiff-Feldern festgehalten und werden über
HTMPage_Mngr ("ClassNames_Get_TableRow";->$className) geholt.

Sie möchten den Sourcecode haben? Kein Problem! Überweisen Sie, was es Ihnen wert ist auf mein PayPal-Konto: info@mettre.de. Was ist denn üblich?