Der linke und der rechte Teil der Listbox

Da habe ich dem Kunden eine schöne Kreuztabelle gebaut. Nach dem ersten „sehr schön“ kommt die Frage: „kann ich die beiden linken Spalten stehen lassen und nur den Rest horizontal scrollen?“ Mein erster Gedanke: kleiner Finger - ganze Hand. Der zweite Gedanke: er hat recht, der dritte: geht nicht mit Listboxen und sofort hinterher: warum nicht?

Freitagabend A5 Freitag abend, auf dem Weg nach Hause. Gleichzeitig mit allen anderen Lemmingen auf der A5. Abschalten und die Zeit für längere Gedankenspiele nutzen. Die richtige Zeit, um eine neue Idee – wie Listboxen doch zu splitten wären – durchzuspielen. Nach der zweiten erfolgreichen Flucht über die Landstraße: es müßte gehen. So hatte die länger als üblich währende Nachhause-Fahrt einen positiven Nebeneffekt.

Inzwischen habe ich die Idee umgesetzt: es klappt tatsächlich. Wenn die Dokumente aus einem Ordner aufgelistet und deren Informationen rechts der Dokumentenliste zusammengestellt sind, sieht das in der gesplitteten Listbox so aus:Listboxen splitten

Listboxen aus Entwicklersicht

Auf Formularebene gebaut, sind die Listboxen ein hervorragender Ersatz für die gruppierten Arrays vorangegangender 4D-Versionen. Sie sind modern, ansehnlich, haben ein gutes User-Interface, erlauben erstmals Multi-Selection, einfaches Sortieren durch Klick auf die Kopfzeile, Spalten und Zeilen per Drag&Drop reorganisieren und editierbare Zellen als willkommener Bonus. Listboxen lassen sich als Wrapper um vorhandene Arrays verwenden. Plusminus sind alle Listbox-Einstellungen im Formular-Editor oder per Programm einzustellen.

Es fehlt tatsächlich, einen Teil der Spalten zu fixieren. Spalten zu fixieren wird wichtig, sobald links Spalten stehen bleiben müssen, um die weiter rechts liegenden Daten hereinrollen und lesen zu können.

rechte Seite Wie immer mit 4D: wenn es nicht sowieso geht, dann bauen wir es uns eben mit 4D-Mitteln zusammen.

In den Bildern ist es gut zu erkennen. Der rechte Teil der Spalte ist verschieden groß. Zwischen den Spalten Dokument und Größe kann das Breitenverhältnis beliebig gewechselt werden. Die Spalte Größe verschwindet unter der linken Listbox-Hälfte. Die Spalte Dokument paßt ihre Breite an. Der horizontale Rollbalken ist nur im rechten Teil der Listbox aktiv.

Das war es! Es funktioniert. Wie immer die Frage zum Schluß:

scroll-linesWie geht das?

Eine einfache und nahe liegende Idee. Sie läßt sich mit reinen 4D-Mitteln realisieren.

Nachtrag auf Anfrage:
hier gibt es die Beispiel-Datenbank! Noch nicht berücksichtigt ist der neue Befehl GET LISTBOX CELL POSITION ({*; }Objekt; Spalte; Zeile{; SpalteVar}) der Version 2004.5.

Lizenzbedingungen: Verbesserungen sind rückzumelden!