Mit dem Listenansicht-Element kann eine Tabelle erstellt werden, deren Spalten frei definiert, in der Breite verändert und sortiert werden können. Auch die Darstellung der Einträge als Symbole ist möglich. Das Element erinnert z.B. an die Dateiansicht im Windows-Explorer.
Hierfür ist die Element+-Lizenz erforderlich.
Folgende Optionen stehen neben den Standardeigenschaften von Elementen zur Verfügung:
Spaltenüberschriften | Gibt die Überschriften der Spalten der ListView an. Dies kann eine einfache Liste mit den Texten sein oder auch eine mehrzeilige Liste mit den Angaben (optionale Angaben in Klammern): Text;(ID);(Bild);(Tooltip);(Breite);(Ausrichtung 0=links, 1=rechts, 2=zentriert) Beispiel: "Erste Spalte;Spalte1;%icon%;;20mm;2" Hinweis: Bei der Eingabe der Liste kann mit der Taste Umschalt+F7 der Eintragslisten-Assistent für Listeneinträge aufgerufen werden, mit dem die Zusammenstellung der Einträge und deren Attribute einfach vorgenommen werden kann. Im Einsteiger-Modus wird hierfür auch ein Button angezeigt. Hinweis: Die Ausrichtung greift nicht in der ersten Spalte. |
Spalten verschiebbar | FG Legt fest, ob die Spaltenreihenfolge vom Benutzer per Maus verändert werden kann |
Ansicht | Hier kann zwischen Symbole, Kleine Symbole, Liste und Tabelle gewählt werden. Diese Darstellungen entsprechen den aus dem Windows-Explorer bekannten Darstellungsformen |
Erst löschen | Die Liste wird zuerst geleert (Zeilen). Sollten Spaltenüberschriften definiert sein, werden auch die Spalten zuvor entfernt. |
Einträge | Hier werden optional die einzusetzenden Zeilen als Liste definiert mit folgendem Aufbau (Werte in Klammern sind optional): Text;(ID);(Bild);(Tooltip);(Farbe);(weitere Spalten) Hinweis: Bei der Eingabe der Liste kann mit der Taste Umschalt+F7 der Eintragslisten-Assistent für Listeneinträge aufgerufen werden, mit dem die Zusammenstellung der Einträge und deren Attribute einfach vorgenommen werden kann. Im Einsteiger-Modus wird hierfür auch ein Button angezeigt. Bei der Listenansicht (im Detailansicht-Modus) können auch weitere Einträge (Spalten) angegeben werden. Auf diese Weise kann die komplette Liste samt Attribute mit einem Befehl gefüllt werden (etwa wenn die Daten aus einer Datenbank stammen). Besteht eine ID aus zwei durch : getrennten Teilen, etwa "Gruppe1:Eintrag1", werden die Elemente der genannten Gruppe zugeordnet und die Liste entsprechend aufgegliedert dargestellt (siehe auch .Listenansicht.Gruppen). |
Befüllen aus | Wird hier ein Ordnername angegeben, wird das Element mit den Dateien dieses Ordners gefüllt (wie Explorer). Optional können hier auch eine oder mehrere Masken für die anzuzeigenden Dateien angegeben werden (z.B. "*.bmp;*.jpg") |
Schalter anzeigen | FG Gibt an, ob vor jeder Zeile eine Checkbox angezeigt werden soll. |
Zeilenhöhe | Angabe der Zeilenhöhe (Standard=16 Pixel) in der Detailansicht. Hierdurch wird die Größe der Bilder und damit Zeilenhöhe und linker Einzug eingestellt. Werden hier zwei Angaben gemacht, stellen diese die Breite und Höhe der Bilder ein. Hierdurch kann etwa auch mit "0;10" linker Abstand und Zeilenhöhe gesetzt werden, wenn keine Bilder in die Zeilen eingetragen werden. Durch Angabe von 0 wird auch die Einrückung links entfernt. |
Ganze Zeilen markieren | Gibt an, ob eine Selektion einer Zeile über die gesamte Zeilenbreite erfolgen kann. |
Mehrfachauswahl | Gibt an, ob mehrere Zeilen gleichzeitig ausgewählt werden können. |
Sortierung | Legt eine Sortierung per "Art;Spalte;Darstellung;Datentyp(en)" fest: Art: 0=Keine, 1=Aufsteigend, 2=Absteigend (Standard=1) Spalte: Spaltenindex 1..n (Standard=1) oder Spalten-ID Wird hier Spalte1*1000 + Spalte2 (z.B. 1002) angegeben, wird erst nach Spalte1 und dann nach Spalte2 sortiert. Darstellung (kombinierbar): 1=keine Sortierungspfeile, 2=keine Schattierung, 4=kein Sortieren per Spaltenklick Datentyp: 0=Text, 1=Wert, 2=Datum (Standard=0) Dieser Typ gilt für die angegebene Spalte. Sind mehrere Typen angegeben, gelten diese für die Spalten 1..n, wodurch alle Spaltentypen auf einmal definiert werden können (sinnvoll, wenn der Anwender die Sortierspalte durch Anklicken der Überschrift selbst wählen können soll). Wird nur eine Art angegeben (etwa 1 für Aufsteigend), sind alle Spalten durch Anklicken der Überschriften alphanumerisch sortierbar. |
Filter | FG Bestimmt eine Suchmaske, nach der beim Befüllen gefiltert wird (mit Wildcards, also ggf. "*such*"). Nicht passende Zeilen werden nicht in die Liste übernommen (siehe auch [.Liste().LVSpaltenFilter()]) |
Spalte 1 editierbar | Gibt an, ob die Werte der ersten Spalten direkt in der Listenansicht bearbeitet werden können. Wurde der Text vom Anwender verändert, tritt das ::Anzeige_Element()_Verändert auf, wobei in [cX.Parameter(1)] die editierte Zeilennummer und in Parameter 2 der neue Text steht. Wird in dem Ereignis eine 1 als Ergebnis zurückgegeben, wird die Bearbeitung verworfen. |
Berührungsauswahl | FG Legt fest, ob die Elemente auch durch längere Berührung markiert werden sollen |
Rasterlinien | Gibt an, ob Linien zwischen den Spalten und Zeilen der Liste angezeigt werden sollen (in cX4 noch "Gitterlinien" genannt). |
Hinweis: Bei der Eingabe von Spaltenüberschriften oder Einträge kann mit der Taste Umschalt+F7 der Einfüge-Assistent für Listeneinträge aufgerufen werden, mit dem die Zusammenstellung der Einträge und deren Attribute einfach vorgenommen werden kann.
Hinweis: Sollen Zellenwerte mehrzeilig sein, muss die Zeilenhöhe des Elements entsprechend erweitert und dann Umbrüche im Text gesetzt werden, etwa "[Name]^M[Vorname]" (einschl. der ""). Siehe auch [cX.TextUmbrechen()]
Platzhalter:
Für Zugriffe auf das Element können neben den Standard-Platzhaltern für Elemente auch die Platzhalter aus [cX.Anzeige.Liste().X] (oder kurz [.Liste().X]) sowie die .Listenansicht-Platzhalter verwendet werden.
Einzelne Einträge werden über [cX.Anzeige.Liste().Eintrag().X] verwaltet.
Das Element löst die Standard-Ereignisse von Elementen aus. Außerdem gibt es noch:
::Anzeige_Listenansicht_Check
Es wurde ein Zeilenschalter (Details-Ansicht) umgeschaltet (wenn die Option Schalter anzeigen aktiv ist).
::Anzeige_Listenansicht_SpaltenKlick
Es wurde eine Spaltenüberschrift (Details-Ansicht) angeklickt
::Anzeige_Listenansicht_SpalteVerändert
Der Anwender hat entweder die Spaltenreihenfolge oder eine Spaltenbreite verändert.
Wird vom Ereignis eine 1 zurückgegeben, wird die Umsortierung verworfen.
Der ursprüngliche und neue Index der verschobenen Spalte kann in diesem Unterprogramm mit cX.Parameter(1) und cX.Parameter(2) abgerufen werden.
Wurde eine Spaltenbreite verändert, steht der Index der Spalte ebenfalls in cX.Parameter(1), in cX.Parameter(2) jedoch eine 0.
Hinweis: Die Spaltenreihenfolge ist während dieses Unterprogramms noch nicht verändert, daher kann die neue Reihe hier nicht über [.Listenansicht.SpaltenReihenfolge] ermittelt werden.
Hinweis: Durch Setzen des Platzhalters [.Liste().KeinRefresh] auf 1 vor der Befüllung etwa in einer Schleife wird die Aktualisierung der Liste unterdrückt, wodurch dies bei vielen Einträgen deutlich schneller abläuft. Nach dem Befüllen muss der Platzhalter wieder auf 0 gesetzt werden.
cX-Webseite: http://www.clickexe.net