4D v16.3

Eigenschaften für Listboxen

Home

 
4D v16.3
Eigenschaften für Listboxen

Eigenschaften für Listboxen  


 

 

Wählen Sie ein Objekt vom Typ Listbox im Formulareditor, zeigt die Eigenschaftenliste mehrere spezifische Gruppen und Eigenschaften. Weitere Eigenschaften sind verfügbar, wenn Sie in der Listbox eine Spalte (siehe Eigenschaften für Spalten der Listbox), einen Spaltentitel (siehe Eigenschaften für Spaltentitel der Listbox) oder einen Spaltenfußteil Eigenschaften für Fußteile der Listbox auswählen.

Diese Gruppe enthält die Eigenschaft Datenquelle, über die Sie die Art der Listbox festlegen können: 

  • Wählen Sie die Option Aktuelle Auswahl, um Ausdrücke, Datenfelder oder Methoden zu verwenden, deren Werte für jeden Datensatz der aktuellen Auswahl einer Tabelle gewertet werden.
  • Wählen Sie die Option Temporäre Auswahl, um Ausdrücke, Datenfelder oder Methoden zu verwenden, deren Werte für jeden Datensatz der temporären Auswahl einer Tabelle gewertet werden.
  • Wählen Sie die Option Arrays, um Array Elemente als Zeilen der Listbox zu verwenden.
    Diese Option ist erforderlich, um das Ergebnis einer SQL-Anfrage in der Listbox einzufügen. Weitere Informationen dazu finden Sie im Abschnitt Ergebnis einer SQL-Anfrage in Listbox anzeigen.

Dieses Thema erscheint nur für den Listboxtyp Auswahl. Es enthält die Eigenschaft Haupttabelle für Listboxen, die auf der aktuellen Auswahl basieren und die Eigenschaft Temporäre Auswahl für Listboxen, die auf einer temporären Auswahl basieren.

  • Hauptabelle: Damit definieren Sie die Tabelle, deren aktuelle Auswahl Sie benutzen wollen. Diese Tabelle und die dazugehörige aktuelle Auswahl sind die Referenz für die Datenfelder, die den Spalten in der Listbox zugeordnet werden (Feldreferenzen oder Ausdrücke mit Feldern). Selbst wenn einige Spalten Felder aus anderen Tabellen enthalten, wird die Anzahl der angezeigten Zeilen durch die Haupttabelle bestimmt.
    Das PopUp-Menü für diese Eigenschaft zeigt alle Tabellen der Datenbank an, egal ob das Formular mit einer Tabelle (Tabellenformular) oder nicht (Projektformular) verknüpft ist. Die Eigenschaft zeigt standardmäßig die erste Tabelle der Datenbank. Weitere Informationen dazu finden Sie im Abschnitt Anzeige der Felder in Listboxen.
  • Temporäre Auswahl: Hier geben Sie den Namen einer gültigen temporären Auswahl ein. Sie kann vom Typ Prozess oder Interprozess sein. Der Inhalt der Listbox basiert dann auf dieser Auswahl. Die gewählte temporäre Auswahl muss vorhanden und gültig sein, wenn die Listbox angezeigt wird. Andernfalls bleibt die Listbox leer. Sie bleibt ebenfalls leer, wenn Sie den Namensbereich leer lassen.
    Hinweis:
    Temporäre Auswahlen sind geordnete Datensatzlisten. Sie dienen dazu, die Reihenfolge und den aktuellen Datensatz einer Auswahl im Speicher zu halten. Weitere Informationen dazu finden Sie im Handbuch 4D Programmiersprache im Kapitel Temporäre Auswahl.

Diese Gruppe enthält alle Grundeigenschaften des Objekts:

  • Spaltenanzahl: Anzahl der Spalten in der Listbox (standardmäßig 1). Klicken Sie auf den Spaltentitel, erscheint das Kontextmenü, über das Sie die Anzahl ändern können. Sie klicken auf eine Spalte bzw. einen Spaltentitel und wählen zwischen Spalte einfügen, duplizieren oder löschen:
  • Anzahl gesperrte Spalten: Anzahl, die dauerhaft am linken Rand der Listbox sichtbar bleiben soll, auch wenn der Benutzer horizontal durch die Spalten scrollt. Eine gesperrte Spalte lässt sich in der Größe anpassen, ist eingebbar, etc., genauso wie reguläre Spalten. Gesperrt ist lediglich ihre Position in der Listbox, d.h. sie bleibt beim Scrollen erhalten. Das ist z.B. hilfreich, um Zeilenbezeichnungen in umfangreichen Arrays anzuzeigen.
    Mit dieser Eigenschaft können Sie einen gesperrten Bereich setzen. Wird eine gesperrte Spalte per Programmierung gelöscht, verringert sich die Anzahl der gesperrten Spalten um 1. Wird eine Spalte per Programmierung in den gesperrten Bereich eingefügt, wird sie automatisch gesperrt.
    Hinweis: Einen Vergleich zwischen gesperrten und statischen Spalten finden Sie im unteren Absatz "Gesperrte und statische Spalten". 
  • Anzahl statische Spalten: Anzahl, die sich nicht während der Ausführung bewegen lässt. Der Wert gibt die Anzahl der festen Spalten, beginnend mit der ersten Spalte der Listbox an. Um das Bewegen von Spalten auszuschließen, muss dieser Wert gleich der Gesamtanzahl der Spalten sein. Beachten Sie, dass auch ausgeblendete Spalten mitgezählt werden.
    Ist die Option hierarchische Listbox nicht aktiviert, hat diese Eigenschaft standardmäßig den Wert 0 (Null), d.h. alle Spalten lassen sich bewegen.
    Ist der hierarchische Modus aktiviert (nur Listboxen vom Typ Array), hat diese Eigenschaft immer mindestens den Wert 1.
    Hinweis: Einen Vergleich zwischen gesperrten und statischen Spalten finden Sie im unteren Absatz "Gesperrte und statische Spalten".
  • Auswahlmenge: Diese Eigenschaft wurde nur für Listboxen vom Typ Auswahl hinzugefügt. Sie definiert die Menge zum Verwalten markierter Datensätze in der Listbox. Ist die Datenquelle Array ausgewählt, wird ein Array vom Typ Boolean mit demselben Namen wie die verwendete Listbox verwendet.
    4D erstellt eine Standardmenge mit Namen ListboxMengeN, wobei N bei 0 startet und gemäß der Anzahl Listboxen im Formular erhöht wird. Bei Bedarf können Sie diese Standardmenge ändern, es kann eine lokale, Prozess- oder Interprozessmenge sein. Wir empfehlen die Verwendung einer lokalen Menge, z.B. $LBMenge, um den Netzwerkverkehr gering zu halten. Sie wird dann automatisch von 4D verwaltet. Wählt der Benutzer eine oder mehrere Zeilen in der Listbox, wird die Menge sofort aktualisiert. Um eine oder mehrere Zeilen per Programmierung auszuwählen, verwenden Sie die Befehle im Kapitel Mengen des Handbuchs 4D Programmiersprache .
    Hinweise:
    • Der Status Markiert in Zeilen der Listbox ist vollkommen unabhängig vom Status Markiert in Datensätzen einer Tabelle.
    • Enthält die Eigenschaft Auswahlmenge keinen Namen, ist in der Listbox keine Auswahl möglich.
  • Zeilenkontrolle Array (nur Listboxen vom Typ Array): Damit steuern Sie die Eigenschaften "ausgeblendet", "deaktiviert" und "auswählbar" für jede Zeile der Listbox. Das Array vom Typ Lange Ganzzahl muss die gleiche Anzahl Elemente haben wie die Listbox. Jedes Element des Array gibt an, ob die entsprechende Zeile:
    • ein- oder ausgeblendet ist (sichtbar ist Standard)
    • aktiviert oder deaktiviert ist (aktiviert ist Standard)
    • auswählbar oder nicht auswählbar ist (auswählbar ist Standard)
    Sie können die Eigenschaften für jede Zeile setzen, indem Sie dem entsprechenden Element des Array Konstanten zuweisen. Weitere Informationen dazu finden Sie im Abschnitt Zeilenanzeige verwalten.

    Hinweis zur Kompatibilität: Diese Eigenschaft ersetzt "Ausgeblendete Zeilen Array", die in bisherigen 4D Releases verfügbar war. Zur Wahrung der Kompatibilität wird weiterhin ein Boolean Array als Zeilenkontrolle unterstützt. In diesem Fall wird das Array wie bisher verwendet: Jedes Element des Array zeigt den Status eingeblendet/ausgeblendet der entsprechenden Zeile in der Listbox. Wahr bedeutet ausgeblendet, Falsch bedeutet eingeblendet.

    Die Eigenschaft Zeilenkontrolle Array lässt sich über die Befehle LISTBOX SET ARRAY und LISTBOX Get array setzen oder erhalten. Das Array lässt sich auch mit dem Befehl LISTBOX GET ARRAYS zurückgeben.
  • Auswahlmodus: Hier definieren Sie den Auswahlmodus für die Zeilen der Listbox. Es gibt drei Optionen:
    • Nichts: Sie können weder eine Zeile auswählen, noch Daten eingeben (außer, die Option "Einzelklick Editieren" ist markiert, siehe unter Gruppe Eingabe).  Auswahl und Eingabe lassen sich nur per Programmierung verwalten. Klick oder Doppelklick in die Liste haben keine Auswirkung, selbst wenn die Option Eingebbar markiert ist. Die Ereignisse On Clicked und On Double Clicked lassen sich jedoch erzeugen. Mit dieser Option hat der Entwickler die volle Kontrolle, und zwar mit der Eigenschaft Auswahlmenge über Auswahlen, mit dem 4D Befehl EDIT ITEM über die Dateneingabe. Die Ereignisse On Selection Change und On Before Data Entry werden nicht generiert. Das Ereignis On After Edit lässt sich dagegen erzeugen, wenn der Benutzer Daten über den 4D Befehl EDIT ITEM eingibt.
    • Einfach: Sie können nur eine Zeile auf einmal auswählen
    • Mehrfach: Sie können mehrere Zeilen auf einmal auswählen. Die standardmäßigen Tastenkombinationen lauten: Umschalttaste+Klick für eine fortlaufende Auswahl; unter Windows Strg-Taste+Klick, auf Mac OS Befehlstaste+Klick für eine unterbrochene Auswahl.
  • Doppelklick auf Zeile (nur Listboxen vom Typ Auswahl): Bestimmt, welche Aktion durchgeführt wird, wenn der Benutzer in eine Zeile der Listbox doppelklickt. Es gibt folgende Optionen:
    • Nichts (Standard): Doppelklick in eine Zeile löst keine automatisch Aktion aus.
    • Datensatz ändern: Doppelklick in eine Zeile zeigt den entsprechenden Datensatz im Detail-Formular für die Listbox (siehe nächster Abschnitt “Eingabeformular”). Er wird im Lese-/Schreibmodus geöffnet, so dass er sich ändern lässt.
    • Datensatz anzeigen: ist identisch zur vorigen Aktion. Der Datensatz wird jedoch in Nur-Lesen Modus geöffnet, so dass er sich nicht ändern lässt.

    Hinweis: Doppelklick in eine leere Zeile wird ignoriert.
    Unabhängig von der gewählten Aktion wird hier das Formularereignis On Double Clicked erzeugt.
    Für die beiden letzten Aktionen wir auch das Formularereignis On Open Detail generiert. Das Ereignis On Close Detail wird generiert, wenn ein Datensatz im Detail-Formular für die Listbox angezeigt wird und geschlossen werden soll - unabhängig, ob er geändert wurde.      

  • Eingabeformular (nur Listboxen vom Typ Auswahl): Definiert, welches Formular zum Ändern oder Anzeigen einzelner Datensätze der Listbox verwendet wird.
    Das definierte Formular erscheint:
    • wenn die Standardaktionen Unterdatensatz hinzufügen und Unterdatensatz bearbeiten für die Listbox angewandt werden (siehe Standardaktionen verwenden)
    • Bei Doppelklick auf die Zeile, wenn für "Datensatz ändern" und "Datensatz anzeigen" die Eigenschaft Doppelklick auf Zeile gesetzt ist (siehe voriger Abschnitt "Doppelklick auf Zeile")

Gesperrte Spalten und statische Spalten sind zwei getrennte und von einander unabhängige Funktionalitäten in Listboxen:

  • Gesperrte Spalten bleiben immer am linken Rand der Listbox sichtbar, sie verändern ihre Position nicht beim horizontalen Scrollen.
  • Statische Spalten lassen sich innerhalb der Listbox nicht per Drag and Drop bewegen.

Hinweis: Sie können statische Spalten per Programmierung setzen. Weitere Informationen dazu finden Sie im Kapitel Listbox des Handbuchs 4D Programmiersprache.

Die Interaktion dieser Eigenschaften ist wie folgt:

  • Setzen Sie Spalten, die nur statisch sind, lassen sie sich nicht bewegen.
  • Setzen Sie Spalten, die gesperrt, aber nicht statisch sind, lassen sie sich innerhalb des gesperrten Bereichs frei bewegen, jedoch nicht außerhalb dieses Bereichs setzen.
  • Definieren Sie dieselbe Anzahl gesperrte Spalten wie statische Spalten, können Sie diese Spalten innerhalb des gesperrten Bereichs nicht bewegen.
  • Sie können je nach Ihren Bedürfnissen eine Kombination aus gesperrten und statischen Spalten setzen. Setzen Sie z.B. drei gesperrte Spalten und eine statische Spalte, kann der Benutzer die beiden rechts im gesperrten Bereich gelegenen Spalten verschieben, da nur die erste Spalte statisch ist.

Diese Gruppen verwalten die Anzeige und Höhe von Kopf- und Fußteilen für Spalten von Listboxen. Beachten Sie, dass Kopf- und Fußteile nicht eingebbar sind. Ihr Inhalt wird immer berechnet. 

  • Kopfteil / Fußteil anzeigen: Dient zum Anzeigen oder Ausblenden von Kopf- und Fußteilen. Die anderen Optionen sind nur verfügbar, wenn diese Option markiert ist.
    Wird der Bereich in der Listbox angezeigt, können Sie darauf klicken, um ihn auszuwählen und dann die anderen Optionen in der Eigenschaftenliste nutzen. (siehe Eigenschaften für Spaltentitel der Listbox und Eigenschaften für Fußteile der Listbox). Sie können pro Spalte ein Kopfteil und ein Fußteil haben; jedes Teil lässt sich separat konfigurieren.
  • Standardmäßig unsichtbar: Wie bei allen Formularobjekten ermöglicht diese Option die dynamische Anzeige über den Befehl OBJECT SET VISIBLE.
    Der Befehl OBJECT SET VISIBLE hat keine Auswirkung, wenn die Option zum Anzeigen des Kopf- bzw. Fußteilbereichs in der Eigenschaftenliste nicht markiert ist. 
  • Höhe: Dient zum Setzen der Zeilenhöhe für ein Kopf- oder Fußteil in der Listbox. Sie können die Einheit (Zeilen oder Pixel) für den Wert der Höhe wählen. Weitere Informationen dazu finden Sie im nachfolgenden Abschnitt Höhe in Pixel oder Zeilen.
    Standardmäßig ist die Höhe von Kopf- bzw. Fußteilen 1 Zeile.
    Warnung: Die Mindesthöhe in Pixel für Kopfteile richtet sich nach dem Betriebssystem. Übergeben Sie einen zu kleinen Wert, wird er durch den im System festgelegten Mindestwert ersetzt. Für Fußteile und Zeilen gibt es keine Mindesthöhe.
    Hinweis zur Kompatibilität: Unter Windows 7 und Windows Vista ist die Mindesthöhe für Kopfteile 24 Pixel. Haben Kopfteile in Ihren konvertierten Datenbanken eine geringere Höhe, werden diese automatisch angepasst. In solchen Fällen müssen Sie Ihre Formulare evtl. entsprechend anpassen.

    Sie können die Zeilenhöhe von Kopf- bzw. Fußteil über die Befehle LISTBOX SET HEADERS HEIGHT und LISTBOX SET FOOTERS HEIGHT auch dynamisch setzen.

Sie können die Höhe für Kopf-, Fußteile und Zeilen entweder in Pixel oder in Zeilen setzen. In der Eigenschaftenliste setzen Sie die Einheit über die Schaltfläche rechts neben dem Eintrag "Höhe".

Sie können auch direkt im Wertebereich ein "L" (für "line"= Zeile) oder ein "P" (für Pixel) eingeben, z.B, "17 P". Die Bezeichnung der Schaltfläche wird dann entsprechend angepasst. 

Sie können in derselben Listbox auch beide Einheiten zusammen verwenden:

  • Bei "Pixel" wird der Wert der Höhe direkt auf die betreffende Zeile angewandt, unabhängig von der Schriftgröße für die Spalten. Ist sie zu groß, wird der Text abgeschnitten. Außerdem werden Bilder je nach Format abgeschnitten oder angepasst.
  • Bei "Zeile" wird die Höhe unter Berücksichtigung der Schriftgröße der betreffenden Zeile berechnet.
    • Sind mehrere Werte definiert, verwendet 4D den größten. Enthält eine Zeile z.B. "Verdana 18", "Geneva 12" und "Arial 9", verwendet 4D für die Zeilenhöhe "Verdana 18" (z.B. 25 Pixel). Diese Höhe wird dann mit der Anzahl der definierten Zeilen multipliziert.
    • Diese Berechnung berücksichtigt nicht die Größe von Bildern oder den Schriften zugewiesene Stilarten.
    • Auf OS X kann die Zeilenhöhe u.U. inkorrekt sein, wenn der Benutzer Zeichen eingibt, die in der gewählten Schrift nicht verfügbar sind. Ist das der Fall, wird eine Ersatzschrift verwendet, was zu einer Variation der Größe führen kann.
  • Einheit wechseln:Wechseln Sie von Zeile in Pixel oder umgekehrt, wandelt 4D die Einheit automatisch um und zeigt das Ergebnis in der Eigenschaftenliste an. So wird z.B. bei der Schrift "Lucida grande 24" die Höhe "1 Zeile" in "30 Pixel" umgewandelt, die Höhe "60 Pixel" in "2 Zeilen".
    Beachten Sie, dass das Vor- und Zurückverwandeln zu einem anderen Endergebnis als dem Startwert führen kann, da 4D automatische Berechnungen durchführt. Dies veranschaulicht das folgende Beispiel:
    (Schrift Arial 18): 52 Pixel -> 2 Zeilen -> 40 Pixel
    (Schrift Arial 12): 3 Pixel -> 0,4 Zeile gerundet auf 1 Zeile -> 19 Pixel

Diese Gruppe enthält die Eigenschaften für Rasterlinien im Objekt Listbox.

  • Horizontale Linien: Blendet die horizontalen Linien der Listbox ein oder aus. Sie sind standardmäßig eingeblendet.
  • Horizontale Linienfarbe: Definiert die Farbe der horizontalen Linien der Listbox. Standardmäßig ist grau vorgegeben.
  • Vertikale Linien: Blendet die vertikalen Linien der Listbox ein oder aus. Sie sind standardmäßig eingeblendet.
  • Vertikale Linienfarbe: Definiert die Farbe der vertikalen Linien der Listbox. Standardmäßig ist grau vorgegeben.

Nur Listboxen vom Typ Array können hierarchisch sein. Diese Option konfiguriert die hierarchische Anzeige der Listbox. Beachten Sie, dass diese Eigenschaften automatisch geändert werden, wenn Sie die Hierarchie über das PopUp-Menü des Objekts Listbox definieren (siehe Hierarchische Listboxen erstellen und verwenden).

  • Hierarchische Listbox: Damit definieren Sie in der Eigenschaftenliste, dass die Listbox in hierarchischer Form angezeigt wird.
  • Variable 1 ... 10: Diese zusätzlichen Optionen erscheinen, wenn Hierarchische Listbox markiert ist. Immer wenn ein Wert in ein Feld eingegeben wird, wird eine neue Zeile hinzugefügt. Es lassen sich bis zu 10 Variablen definieren.
    Diese Variablen setzen die hierarchischen Ebenen, die in der ersten Spalte angezeigt werden sollen.


    Die erste Variable entspricht immer dem Variablennamen für die erste Spalte der Listbox. Die beiden Werte werden automatisch verknüpft. Die erste Variable ist immer sichtbar und eingebbar, z.B. Land.
    Die zweite Variable ist auch immer sichtbar und eingebbar; sie definiert die zweite hierarchische Ebene, z.B. Bundesland.
    Ab dem dritten Feld hängt jede Variable von der vorangegangenen ab, z.B. Landkreis, Stadt, usw. Es sind bis zu zehn hierarchische Ebenen möglich.
    Entfernen Sie einen Wert, steigt die gesamte Hierarchie eine Ebene höher.
    Die letzte Variable kann nie hierarchisch sein, selbst wenn auf dieser Ebene mehrere gleichwertige Werte existieren. Nehmen wir z.B. eine Konfiguration, wo Arr1 die Werte A A A B B B, Arr2 die Werte 1 1 1 2 2 2 und Arr3 die Werte X X Y Y Y Z enthält. In diesem Fall können A, B, 1 und 2 in zugeklappter Form erscheinen, X und Y dagegen nicht:
       + A
           + 1
               X
               X
               Y
       + B
           + 2
               Y
               Y
               Z    
    Dieses Prinzip gilt nicht, wenn nur eine Variable in der Hierarchie angegeben ist: In diesem Fall werden identische Werte gruppiert.
    Hinweis: Definieren Sie eine Hierarchie, die auf den ersten Spalten einer vorhandenen Liste basiert, müssen Sie diese Spalten mit Ausnahme der ersten entfernen oder ausblenden, da sie sonst in der Listbox doppelt erscheinen. Definieren Sie die Hierarchie über das PopUp-Menü des Editors, werden die nicht benötigten Spalten automatisch aus der Listbox entfernt.

Diese Gruppe enthält alle Eigenschaften für Koordinaten, Breite und Höhe der Listbox.

Die Eigenschaft Zeilenhöhe gilt für die Höhe von Zeilen. Die Höhe von Kopf- und Fußteilen definieren Sie unter der Gruppe "Kopfteile" bzw. "Fußteile".
Sie können die Höhe in Pixel oder Zeilen setzen. Weitere Informationen dazu finden Sie im oberen Abschnitt Höhe in Pixel oder Zeilen. Standardmäßig richtet sie sich nach Plattform und Schriftgröße.

Nur 4D View Pro: Für dieses Feature wird eine 4D View Pro Lizenz benötigt. Weitere Informationen dazu finden Sie im Abschnitt 4D View Pro.

Diese Eigenschaft gibt den Namen des Array für Zeilenhöhe an, das Sie der Listbox zuordnen wollen ; es muss vom Typ Zahl sein (standardmäßig Lange Ganzzahl)

Ist ein Array für Zeilenhöhe definiert, wird jedes Element mit einem Wert unterschiedlich zu 0 (Null) berücksichtigt, um die Höhe der entsprechenden Zeile in der Listbox zu definieren. Dabei gilt die aktuelle Einheit für Zeilenhöhe.

Sie können beispielsweise schreiben:

 ARRAY LONGINT(RowHeights;20)
 RowHeights{5}:=3

Gilt als Einheit "Zeilen", ist die fünfte Zeile der Listbox drei Zeilen hoch, während alle anderen Zeilen die Standardhöhe beibehalten.

Das Array Zeilenhöhe lässt sich auch über den Befehl LISTBOX SET ROW HEIGHT verwalten.

Hinweis: Diese Eigenschaft wird für hierarchische Listboxen nicht berücksichtigt.

Diese Gruppe enthält Optionen zum Einrichten der Listbox beim Anpassen der Größe. Sie gelten sowohl bei Ausführen durch Benutzer als auch per Programmierung, z.B. über den Befehl OBJECT SET COORDINATES.

  • Horizontale Größe / Vertikale Größe: Diese Standardeigenschaften zum Anzeigen von Objekten werden im Abschnitt Größe anpassen beschrieben.
  • Spaltenbreite Automatisch: Ist diese Eigenschaft aktiviert, wachsen die Spalten automatisch mit, wenn die Größe der Listbox verändert wird, und zwar innerhalb der definierten Mindest- und Maximumwerte für die Breite (siehe unten).
    Ist diese Eigenschaft nicht markiert (Standard in Anwendungen, die von einer 4D Version vor v16 konvertiert wurden), wird nur die ganz rechts liegende Spalte der Listbox angepasst, selbst wenn die Breite den definierten Maximumwert überschreitet.

  • Bei zunehmender Breite der Listbox werden die Spalten der Reihe nach von rechts nach links verbreitert, bis die maximale Breite erreicht ist.
    Hinweis: Alle Spalten mit markierter Eigenschaft Vergrößerbar werden angepasst. Diese Eigenschaft lässt sich für jede Spalte einzeln setzen.
  • Dasselbe gilt bei abnehmender Breite der Listbox, nur dass das Verkleinern von links nach rechts abläuft. Hat jede Spalte die Mindestbreite erreicht, wird der horizontale Rollbalken wieder aktiv.
  • Spalten werden nur angepasst, wenn der horizontale Rollbalken nicht "aktiv" ist, z.B. alle Spalten sind in der aktuell angezeigten Listbox voll sichtbar.
    Hinweis
    : Ist der horizontale Rollbalken ausgeblendet, verändert das nicht seinen Status, d.h. er bleibt auch aktiv, wenn er nicht sichtbar ist.
  • Haben alle Spalten ihre maximale Größe erreicht, werden sie nicht weiter vergrößert. Stattdessen wird am rechten Rand eine leere Proforma Spalte hinzugefügt, um den verbleibenden Bereich zu füllen.





    Hinweise:
    • Gibt es eine Proforma Spalte (leer), wird dieser Bereich beim Verringern der Listboxbreite zuerst reduziert.
    • Das Aussehen der Proforma Spalte richtet sich nach den vorhandenen Spalten. Sie enthält auch Kopf- bzw. Fußteil, wenn diese in den Spalten der Listbox vorhanden sind und wendet die gleichen Hintergrundfarben an.
    • Proforma Kopf- und Fußteil lassen sich anklicken, das hat aber keine Auswirkung auf die anderen Spalten (z.B. keine Sortierung); dagegen werden die jeweiligen Ereignisse On Clicked, On Header Click und On Footer Click generiert.
    • Wird in der Proforma Spalte auf eine Zelle geklickt, gibt der Befehl LISTBOX GET CELL POSITION für die Spaltennummer "X+1" zurück (X ist die Anzahl der vorhandenen Spalten).

Diese Gruppe enthält Standardeigenschaften zur Dateneingabe in der Listbox.

Die Option Einzelklick Editieren ist speziell, sie aktiviert den direkten Übergang in den Bearbeitungsmodus.

Ist diese Option markiert, wechseln Zellen von Listboxen nach einfachem Klick durch den Benutzer in den Bearbeitungsmodus, unabhängig, ob vorher dieser Bereich der Listbox ausgewählt wurde. Beachten Sie, dass Zellen auch editierbar sind, selbst wenn der Auswahlmodus für Listbox auf "Nichts" gesetzt ist. Weitere Informationen dazu finden Sie im Abschnitt Gruppe Listbox.

Ist diese Option nicht markiert, müssen Benutzer zuerst die entsprechende Zeile auswählen und dann in die Zelle klicken, um den Inhalt zu bearbeiten. Dies ist das standardmäßige Verhalten in 4D vor v15 R3. Zur Wahrung der Kompatibilität ist die Option standardmäßig deaktiviert.

Diese Gruppe enthält zwei Eigenschaften zur globalen Anzeige der Listbox:

  • Unsichtbar als Standard verwaltet generisch die Anzeige des Objekts beim Laden des Formulars (siehe Abschnitt Unsichtbar als Standard).
  • Abkürzen mit Auslassungspunkten steuert die Anzeige der Werte, wenn die Spalte der Listbox für den ganzen Inhalt zu schmal ist. Diese Option ist für verschiedene Arten von Inhalt in Spalten verfügbar. Davon ausgenommen sind Bilder und Objekte.
    • Ist die Option markiert (Standard) und ist der Inhalt größer als die Breite der Spalte, wird er abgeschnitten und es erscheinen Auslassungspunkte:

      Hinweis: Die Position der Auslassungspunkte richtet sich nach dem Betriebssystem. Im obigen Beispiel (Windows) werden sie auf der rechten Seite des Textes angefügt. Unter OS X werden sie in der Mitte des Textes eingefügt.
    • Ist die Option nicht markiert und ist der Inhalt größer als die Breite der Spalte, wird er nur abgeschnitten:

      Die Option Abkürzen mit Auslassungspunkten ist standardmäßig markiert und lässt sich für Listboxen vom Typ Array oder Auswahl angeben. 

    Die Option Abkürzen mit Auslassungspunkten ist auch getrennt nach Spalte oder Fußteil innerhalb einer Listbox verfügbar. Weitere Informationen dazu finden Sie im Abschnitt Eigenschaften für Spalten der Listbox

Diese Gruppe enthält alle Eigenschaften für die Hintergrundfarbe der Zeilen und den Randstil.

  • Hintergrundfarbe: Hier legen Sie die Hintergrundfarbe der Listbox fest. Diese Farbe wird für das gesamte Objekt mit Ausnahme der Kopfteile verwendet.
  • Alternative Hintergrundfarbe: Hier legen Sie für Zeilen der Listbox mit ungerader Nummer eine andere Hintergrundfarbe fest. Das macht Arrays leichter lesbar.
  • Zeilen Schriftfarbe Array (Listboxtyp Array) / Zeilenschriftfarbe (Listboxtyp Auswahl): Hier weisen Sie jeder Zeile der Listbox eine eigene Schriftfarbe zu. Sie müssen einen RGB-Farbwert verwenden. Weitere Informationen dazu finden Sie im Handbuch 4D Programmiersprache unter dem Befehl OBJECT SET RGB COLORS.
    • Für Listboxen vom Typ Array müssen Sie den Namen eines Array vom Typ Lange Ganzzahl eingeben. Jedes Element im Array entspricht einer Zeile in der Listbox. Das Array muss dieselbe Größe haben wie die den Spalten zugeordneten Arrays. Sie können eine Konstante unter dem Thema SET RGB COLORS der 4D Programmiersprache verwenden. Um die Schriftfarbe, die in den Eigenschaften der Listbox definiert wurde, einer Zeile zuzuweisen, übergeben Sie den Wert -255 im Element des dazugehörigen Array.
    • Für Listboxen vom Typ Auswahl müssen Sie einen Ausdruck oder eine Variable (außer für ein Array) eingeben. Der Ausdruck bzw. die Variable wird für jede angezeigte Zeile gezeigt. Einen Ausdruck können Sie über den Formeleditor definieren. Klicken Sie dazu auf die Schaltfläche [...]. Sie erscheint, wenn Sie den Bereich auswählen. Sie können auch die Konstanten unter dem Thema SET RGB COLORS im Handbuch 4D Programmiersprache verwenden.
  • Randstil: Hier legen Sie einen Standardstil für den Rand der Listbox fest.
  • Zusätzliche Leerzeilen ausblenden: Steuert die Anzeige der am Ende der Listbox hinzugefügten Leerzeilen. Standardmäßig fügt 4D solche Extrazeilen am Ende eines Objekts Listbox hinzu, um den leeren Bereich zu füllen:

    Markieren Sie diese Option, erscheint das Objekt Listbox ohne Leerzeilen am Ende:

In dieser Gruppe definieren Sie die Standardeigenschaften für Text in der Listbox: Stilvorlage, Schrifttyp, Schriftstil, etc. sowie einige spezifische Eigenschaften zum Anzeigen von Text in jeder Zelle der Listbox:

  • Zeilenstil Array (Listboxtyp Array) / Zeilenstil (Listboxtyp Auswahl): Hier weisen Sie jeder Zeile der Listbox einen eigenen Schriftstil zu.
    • Für Listboxen vom Typ Array müssen Sie den Namen eines Array vom Typ Lange Ganzzahl eingeben. Jedes Element im Array entspricht einer Zeile in der Listbox. Das Array muss dieselbe Größe haben wie die den Spalten zugeordneten Arrays. Zum Füllen des Array über eine Methode wählen Sie eine Konstante unter dem Thema Schriftstile im Handbuch 4D Programmiersprache. Sie können auch mehrere Stilarten miteinander kombinieren. Um den Stil, der in den Eigenschaften der Listbox definiert wurde, der Zeile zuzuweisen, übergeben Sie den Wert -255 im Element des dazugehörigen Array.
    • Für Listboxen vom Typ Auswahl müssen Sie einen Ausdruck oder eine Variable (außer für ein Array) eingeben. Der Ausdruck bzw. die Variable wird für jede angezeigte Zeile ausgewertet. Einen Ausdruck können Sie über den Formeleditor definieren. Klicken Sie dazu auf die Schaltfläche [...]. Sie erscheint, wenn Sie den Bereich auswählen. Sie können auch die Konstanten unter dem Thema Schriftstile im Handbuch 4D Programmiersprache verwenden.
      Das folgende Beispiel verwendet einen Variablennamen: Geben Sie FirmaStil im Bereich Zeilenstil ein und schreiben Sie folgende Methode:
       FirmaStil:=Choose([Firma]ID;Bold;Plain;Italic;Underline)
  • Zeilen Schriftfarbe Array (Listboxtyp Array) / Zeilenschriftfarbe (Listboxtyp Auswahl): Hier weisen Sie jeder Zeile der Listbox eine eigene Schriftfarbe zu. Sie müssen einen RGB-Farbwert verwenden. Weitere Informationen dazu finden Sie im Handbuch 4D Programmiersprache unter dem Befehl OBJECT SET RGB COLORS.
    • Für Listboxen vom Typ Array müssen Sie den Namen eines Array vom Typ Lange Ganzzahl eingeben. Jedes Element im Array entspricht einer Zeile in der Listbox. Das Array muss dieselbe Größe haben wie die den Spalten zugeordneten Arrays. Sie können eine Konstante unter dem Thema SET RGB COLORS der 4D Programmiersprache verwenden. Um die Schriftfarbe, die in den Eigenschaften der Listbox definiert wurde, einer Zeile zuzuweisen, übergeben Sie den Wert -255 im Element des dazugehörigen Array.
    • Für Listboxen vom Typ Auswahl müssen Sie einen Ausdruck oder eine Variable (außer für ein Array) eingeben. Der Ausdruck bzw. die Variable wird für jede angezeigte Zeile gezeigt. Einen Ausdruck können Sie über den Formeleditor definieren. Klicken Sie dazu auf die Schaltfläche [...]. Sie erscheint, wenn Sie den Bereich auswählen. Sie können auch die Konstanten unter dem Thema SET RGB COLORS im Handbuch 4D Programmiersprache verwenden.
      Das folgende Beispiel verwendet einen Variablennamen: Geben Sie FirmaFarbe im Bereich Zeilenschriftfarbe ein und schreiben Sie folgende Methode:
       FirmaFarbe:=Choose([Firma]ID;Default background color;Default light shadow color;Default foreground color;Default dark shadow color)
  • Horizontale Ausrichtung: Der Inhalt jeder Zelle lässt sich horizontal Links, Rechts oder Zentriert ausrichten.
    Die Option Standard setzt die Ausrichtung gemäß dem jeweils gefundenen Datentyp: Text und Bilder werden linksbündig, numerische Daten werden rechtsbündig ausgerichtet.
  • Vertikale Ausrichtung: Der Inhalt jeder Zelle lässt sich vertikal Oben, Zentriert oder Unten ausrichten.
    Die Option Standard setzt die Ausrichtung gemäß dem jeweils gefundenen Datentyp: Unten für alle Daten bis auf Bilder, Oben für Bilder.

Sie können die Einstellung für die gesamte Listbox oder für jede Spalte einzeln definieren (siehe Schriftstil und -farbe verwalten). Sie ist auch für Kopf- und Fußteile verfügbar.

Diese Gruppe enthält alle Eigenschaften zum dynamischen Verhalten der Listbox.

  • Methode (Bearbeiten...): Über diese Schaltfläche zeigen Sie die Methode des Objekts vom Typ Listbox an. Beachten Sie, dass auch jede Spalte eine Objektmethode enthalten kann.
  • Dragfähig und dropfähig: Diese Option aktiviert die Drag- und Drop-Funktionen für Listboxen. Sie können dann die Zeile einer Listbox per Drag&Drop in eine andere Listbox bzw. ein anderes Objekt ziehen und umgekehrt. Das gilt jedoch nur für Zeilen; nicht für Spalten. Spalten lassen sich nur innerhalb derselben Listbox bewegen.
    Drag&Drop in Listboxen erfolgt über die Standard Funktionalitäten von 4D. Das sind die Formularereignisse On Drop und On Drag Over sowie die 4D Befehle DRAG AND DROP PROPERTIES und Drop position.    
  • Verschiebbare Zeilen (nur Listboxtyp Array): Diese Option ist standardmäßig aktiv. Damit lassen sich Zeilen während der Ausführung bewegen. Die Option ist für Listboxen vom Typ Auswahl sowie im hierarchischen Modus (Option Hierarchische Listbox ist markiert) nicht verfügbar.
  • Sortierfähig: Diese Option ist standardmäßig aktiv. Damit können Sie durch Anklicken des Spaltentitels Daten in Spalten sortieren. Es lassen sich jedoch keine Arrays (Spalten) vom Typ Bild sortieren.
    In Listboxen, die auf einer Datensatzauswahl basieren, sind nur die standardmäßigen Sortierfunktionen aktiv:
    • Wenn die Datenquelle die aktuelle Auswahl ist
    • Für Spalten, denen Datenfelder vom Typ Alphanumerisch, Zahl, Datum, Zeit oder Boolean zugewiesen sind
    In anderen Fällen (Listboxen mit temporären Auswahlen, Spalten mit Ausdrücken) ist die Standardsortierfunktion nicht verfügbar.

    Eine Standardsortierung stimmt alle Spalten der Listbox aufeinander ab, inkl. der berechneten Spalten.

Für Listboxen, die von rollbaren Bereichen kommen, ist unter dieser Gruppe automatisch die Option Rollbarer Bereich markiert. Bisherige rollbare Bereiche werden ab 4D v13 automatisch in Listboxen umgewandelt. Die Option ist jedoch für alle Listboxen verfügbar:


Ist diese Option markiert, funktioniert die Listbox auf eine spezielle Art:

  • Hat das Array (einmalig) der Listbox die Eigenschaft "unsichtbar", ist das Objekt Listbox ebenfalls komplett unsichtbar.
  • Wird dem Array ein Wert zugewiesen, wird die entsprechende Zeile in der Listbox gewählt. Beispiel: MeinArray:=5 wählt die 5. Zeile der Listbox.
  • Umgekehrt wird durch Anklicken einer Zeile der aktuelle Wert des Array geändert.
  • Erfolgt von einer Zeile der Listbox ein Drop zu einem externen Objekt, gibt der in diesem Objekt ausgeführte Befehl DRAG AND DROP PROPERTIES einen Zeiger auf das Array der Listbox und nicht auf die Listbox selbst zurück.

Listboxen, die aus den früher vorhandenen gruppierten rollbaren Bereichen konvertiert wurden, sind verbunden und funktionieren in koordinierter Form:

  • Bei Auswählen einer Zeile in einer Listbox wird dieselbe Zeile in allen Listboxen ausgewählt, die zur verbundenen Gruppe gehören
  • Bei vertikalem Scrollen in einer Listbox wird auch in allen anderen Listboxen gescrollt, die zur verbundenen Gruppe gehören.

Hinweis: Konvertierte Listboxen sind im Formular auch gruppiert (standardmäßige 4D Funktion).

Sie können diese Listboxen miteinander verbinden oder die Verbindung auflösen. Wählen Sie dazu im Menü Objekt des Formulareditors den Eintrag Verbinden bzw. Verbindung auflösen:

Diese Befehle werden aktiviert, wenn mehrere Listboxen im Formular ausgewählt sind. Wird eine verbundene Listbox ausgewählt (sie gehört z.B. zu einer verbundenen Gruppe), erscheint in allen Listboxen, die mit derselben Gruppe verbunden sind, ein entsprechendes Icon:

Hinweis zur Kompatibilität: Diese Mechanismen ermöglichen, die Funktionsweise gruppierter rollbarer Bereiche zu reproduzieren. Wir empfehlen Ihnen jedoch, konvertierte Formulare mit Hilfe der standardmäßigen Funktionalitäten für Listboxen anzupassen.



Siehe auch 


 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Listboxen

 
GESCHICHTE 

New
Geändert: 4D v16

 
ARTIKELVERWENDUNG

4D Designmodus ( 4D v16)
4D Designmodus ( 4D v16.1)
4D Designmodus ( 4D v16.3)