List und Combo Boxen. © 1999 TMN-Systemberatung GmbH Grundsätzliches n List und Combo Boxen sind...

29
List und Combo Boxen

Transcript of List und Combo Boxen. © 1999 TMN-Systemberatung GmbH Grundsätzliches n List und Combo Boxen sind...

Page 1: List und Combo Boxen. © 1999 TMN-Systemberatung GmbH Grundsätzliches n List und Combo Boxen sind sich im Aufbau sehr ähnlich und wurden bzgl. Datenquellen.

List und Combo Boxen

Page 2: List und Combo Boxen. © 1999 TMN-Systemberatung GmbH Grundsätzliches n List und Combo Boxen sind sich im Aufbau sehr ähnlich und wurden bzgl. Datenquellen.

© 1999 TMN-Systemberatung GmbH

Grundsätzliches

List und Combo Boxen sind sich im Aufbau sehr ähnlich und wurden bzgl. Datenquellen und Handling aneinander angepaßt.

Beide Elemente sind nur im Ansatz objektorientiert, sie sind keine Container Objekte

List und Combo Boxen sind sehr komplexe Controls mit unzähligen Möglichkeiten

List und Combo Boxen sind dumm! Ohne Programmierung führen diese keinerlei zu erwartende Aktion selbständig aus.

Page 3: List und Combo Boxen. © 1999 TMN-Systemberatung GmbH Grundsätzliches n List und Combo Boxen sind sich im Aufbau sehr ähnlich und wurden bzgl. Datenquellen.

© 1999 TMN-Systemberatung GmbH

Einsatz der Boxen

Listbox– Darstellung mutipler Inhalte– Sortieren der Eintragsreihenfolge über Moverbars– Auswahl mehrerer Elemente

Combo Box– Platzsparende Darstellung mutipler Inhalte – Auswahl aus einer Wertliste mit der Möglichkeit

neue Werte einzugeben. Kombination aus Liste und TextBox.

Page 4: List und Combo Boxen. © 1999 TMN-Systemberatung GmbH Grundsätzliches n List und Combo Boxen sind sich im Aufbau sehr ähnlich und wurden bzgl. Datenquellen.

© 1999 TMN-Systemberatung GmbH

RowSource Type-Datenquelle

0 - keineWerte von per AddItem / AddListItem zuordnen

1 - Values Hier geben Sie eine komplette Liste mit den Werten (Komma getrennt) an. Die Sorted Eigenschaft kann verwendet werden

2 - AliasTabelle oder View Diese Einstellung positioniert in der Tabelle,

wenn Sie die Selektion in der Box ändern ! 3 - SQL-Statement

SELECT ... INTO Cursor da Sie sonst ein Browse Fenster erhalten. Diese Einstellung positioniert im Cursor, wenn Sie die Selektion in der Box ändern !Achtung: angelegte Cursor werden NICHT automatisch geschlossen.

Page 5: List und Combo Boxen. © 1999 TMN-Systemberatung GmbH Grundsätzliches n List und Combo Boxen sind sich im Aufbau sehr ähnlich und wurden bzgl. Datenquellen.

© 1999 TMN-Systemberatung GmbH

RowSource Type-Datenquelle

4 - Query VFP Abfrage 5 - Array Anzeige eines gefüllten Arrays 6 - Feldliste

Diese Einstellung positioniert in der Tabelle, wenn Sie die Selektion in der Box ändern ! Achtung: Wenn Sie mehrere Felder benötigen, so darf der Alias nur vor dem ersten Feld stehen ! Bsp.: Customer.Name,Vorname, Telefon

7 - DateienSehr guter Aufbau, um Files zu selektieren ABER: Es werden keine Pfade sondern nur Dateinamen zurückgegeben

8 - DBF-StrukturHiermit kann man sich schnell die Struktur eine Tabelle anzeigen lassen.

(9 - Popup) Anzeige eines Popups

Page 6: List und Combo Boxen. © 1999 TMN-Systemberatung GmbH Grundsätzliches n List und Combo Boxen sind sich im Aufbau sehr ähnlich und wurden bzgl. Datenquellen.

© 1999 TMN-Systemberatung GmbH

Spezielle Properties / Events

Combo Box– Style 0 Dropdown Combo– Drop Down Event– Einige Eigenschaften, die TextBox typisch sind

Bsp.: Backcolor, ForeColor....

List Box:– Mover Bars– MultiSelect

Page 7: List und Combo Boxen. © 1999 TMN-Systemberatung GmbH Grundsätzliches n List und Combo Boxen sind sich im Aufbau sehr ähnlich und wurden bzgl. Datenquellen.

© 1999 TMN-Systemberatung GmbH

ListIndex und ListItem (1)

Die Boxen unterscheiden bei Zugriffen auf die Werte zwischen Index und Item. Index bezieht sich dabei immer auf die optische Reihenfolge, während Item sich auf eine eindeutige Identifikationsnummer bezieht.

ListIndex (Datentyp "N")– Nummer des aktuellen Eintrags (bezogen auf die optische

Reihenfolge der Einträge)

ListItemId (Datentyp "N")– eindeutige Identifikationsnummer (unabhängig von der optischen

Reihenfolge)

Page 8: List und Combo Boxen. © 1999 TMN-Systemberatung GmbH Grundsätzliches n List und Combo Boxen sind sich im Aufbau sehr ähnlich und wurden bzgl. Datenquellen.

© 1999 TMN-Systemberatung GmbH

ListIndex und ListItem (2)

Mit den Methoden ItemToIndex und IndexToItem können Sie die beiden Werte umrechnen.

Die Properties auf welche mittels Index bzw. Item zugegriffen wird haben Array ähnliches verhalten. Es kann aber nicht mit Array Befehlen zugegriffen werden.

Page 9: List und Combo Boxen. © 1999 TMN-Systemberatung GmbH Grundsätzliches n List und Combo Boxen sind sich im Aufbau sehr ähnlich und wurden bzgl. Datenquellen.

© 1999 TMN-Systemberatung GmbH

DisplayValue

(Datentyp "N" oder "C")

Inhalt der ersten Spalte bzw. bei ComboBox mit Style 0 Inhalt des Eingabebereiches

Page 10: List und Combo Boxen. © 1999 TMN-Systemberatung GmbH Grundsätzliches n List und Combo Boxen sind sich im Aufbau sehr ähnlich und wurden bzgl. Datenquellen.

© 1999 TMN-Systemberatung GmbH

Value

(Datentyp "N" oder "C") aktueller Eintrag: Standardmäßig zeigen Ihnen die Value

und die DisplayValue Eigenschaft denselben Wert an. Dies entspricht nämlich dem Wert in der 1. Spalte der Box.

Wenn Sie Value mit einem numerischen Wert initialisieren, so zeigt Ihnen die Value Eigenschaft ab dann immer die Zeilennummer des gewählten Eintrags an.

Alle Werte werden als Character Werte behandelt, das Zurückschreiben in z.B. numerische Felder über die ControlSource wird hierbei aber gewährleistet !

Page 11: List und Combo Boxen. © 1999 TMN-Systemberatung GmbH Grundsätzliches n List und Combo Boxen sind sich im Aufbau sehr ähnlich und wurden bzgl. Datenquellen.

© 1999 TMN-Systemberatung GmbH

Methoden und Properties

Index-Zugriff: arbeitet mit "Index“ AddItem IndexToItem ItemData List ListIndex NewIndex Picture RemoveItem Selected TopIndex

ID-Zugriff: arbeitet mit "ItemId" AddListItem Methode ItemToIndex Methode ItemIdData Prop. Array ähnlich ListItem Prop. Array ähnlich ListItemId Property NewItemId Property <keine Entsprechung> RemoveListItem Methode SelectedId Prop. Array ähnlich TopItemId Property

Page 12: List und Combo Boxen. © 1999 TMN-Systemberatung GmbH Grundsätzliches n List und Combo Boxen sind sich im Aufbau sehr ähnlich und wurden bzgl. Datenquellen.

© 1999 TMN-Systemberatung GmbH

Zugriff auf Einträge

Index-Zugriff: arbeitet mit "Index" ItemData List Picture Selected

ID-Zugriff: arbeitet mit "ItemId" ItemIdData ListItem <keine Entsprechung> SelectedId

Page 13: List und Combo Boxen. © 1999 TMN-Systemberatung GmbH Grundsätzliches n List und Combo Boxen sind sich im Aufbau sehr ähnlich und wurden bzgl. Datenquellen.

© 1999 TMN-Systemberatung GmbH

Properties für Mehrspaltigkeit

ColumnCount Anzahl der Spalten ColumnLines Trennlinien anzeigen ? ColumnWidth Spaltenbreite

jeweils mit Komma getrennt. Zum verstecken von Spalten 0

verwenden

BoundColumn welche Spalte steuert das Value DisplayValue zeigt immer erste Spalte an!

Page 14: List und Combo Boxen. © 1999 TMN-Systemberatung GmbH Grundsätzliches n List und Combo Boxen sind sich im Aufbau sehr ähnlich und wurden bzgl. Datenquellen.

© 1999 TMN-Systemberatung GmbH

SORTED - Sortierung in der Listbox nur mit RowSourceType 0 - None und 1 - Value. SORTED auf .T. stellen, bewirkt ein sortiertes

Darstellen der Werte in der Listbox. die Sortierung kann durch MoverBars bzw.

explizites Hinzufügen von Einträgen mit AddItem/AddListItem gestört werden (obwohl Sorted = .T. bestehen bleibt)

eine erneute Zuweisung "Sorted = .T." bewirkt ein neuerliches Sortieren

Page 15: List und Combo Boxen. © 1999 TMN-Systemberatung GmbH Grundsätzliches n List und Combo Boxen sind sich im Aufbau sehr ähnlich und wurden bzgl. Datenquellen.

© 1999 TMN-Systemberatung GmbH

SORTED - Sortierung in der Listbox Sorted hat teilweise Probleme mit mehrspaltigen

Listboxen Wir empfehlen daher: Wenn möglich die Daten

vorher sortieren und dann schon sortiert einstellen

Page 16: List und Combo Boxen. © 1999 TMN-Systemberatung GmbH Grundsätzliches n List und Combo Boxen sind sich im Aufbau sehr ähnlich und wurden bzgl. Datenquellen.

© 1999 TMN-Systemberatung GmbH

Moverbars in Listboxen

nur mit RowSourceType 0 - None und 1 - Value. bei MoverBars = .T. kann die ListBox per Maus

umsortiert werden

Page 17: List und Combo Boxen. © 1999 TMN-Systemberatung GmbH Grundsätzliches n List und Combo Boxen sind sich im Aufbau sehr ähnlich und wurden bzgl. Datenquellen.

© 1999 TMN-Systemberatung GmbH

Multiselect - Mehrfachauswahl

Multiselect auf .T. stellen Nur die SELECTED und SELECTEDID

Properties zeigen an ob ein Eintrag selektiert ist.Das Abfragen welche Einträge selektiert sind muß selbst programmiert werden.

Page 18: List und Combo Boxen. © 1999 TMN-Systemberatung GmbH Grundsätzliches n List und Combo Boxen sind sich im Aufbau sehr ähnlich und wurden bzgl. Datenquellen.

© 1999 TMN-Systemberatung GmbH

Bitmaps in Boxen

PICTURE( ListIndex ) = "xyz.bmp" bewirkt die Anzeige der entsprechenden Bitmap links neben der ersten Spalte einer Box

bei der ComboBox werden die BMPs nur in der aufgeklappten Liste angezeigt

fehlende BMPs erzeugen keinen Fehler GENERAL-Felder können im Widerspruch zur

Dokumentation nicht verwendet werden

Page 19: List und Combo Boxen. © 1999 TMN-Systemberatung GmbH Grundsätzliches n List und Combo Boxen sind sich im Aufbau sehr ähnlich und wurden bzgl. Datenquellen.

© 1999 TMN-Systemberatung GmbH

Wichtige Events im Zusammenhang mit Boxen

Click DblClick InteractiveChange ProgrammaticChange Valid When

Page 20: List und Combo Boxen. © 1999 TMN-Systemberatung GmbH Grundsätzliches n List und Combo Boxen sind sich im Aufbau sehr ähnlich und wurden bzgl. Datenquellen.

© 1999 TMN-Systemberatung GmbH

Click-Event

wird aktiviert– bei Mausclick– beim tastaturgesteuerten "Wandern" in einer Listbox mit den

Cursor-Tasten– (nicht dagegen bei HOME, END, PgUp, PgDn!)– beim "ENTER"-Drücken in aufgeklappter ComboBox

wird nicht aktiviert:– bei Klick in den ScrollBar– bei Klick in nicht belegte Teile einer Listbox

wird doppelt aktiviert– (in bestimmten Konstellationen)

Page 21: List und Combo Boxen. © 1999 TMN-Systemberatung GmbH Grundsätzliches n List und Combo Boxen sind sich im Aufbau sehr ähnlich und wurden bzgl. Datenquellen.

© 1999 TMN-Systemberatung GmbH

DblClick-Event

wird aktiviert– bei Maus-Doppelclick– beim "ENTER"-Drücken in einer ListBox

ACHTUNG: Bei TabStop = .T. verliert die ListBox in diesem Fall den Eingabefocus!

wird nicht aktiviert:– in der ComboBox (Ausnahme: Doppelclick im

Eingabebereich bei Style 0)– bei Klick in nicht belegte Teile einer Listbox

wird doppelt(!) aktiviert– (in bestimmten Konstellationen)

Page 22: List und Combo Boxen. © 1999 TMN-Systemberatung GmbH Grundsätzliches n List und Combo Boxen sind sich im Aufbau sehr ähnlich und wurden bzgl. Datenquellen.

© 1999 TMN-Systemberatung GmbH

InteractiveChange-Event

wird aktiviert, wenn ein anderer als der gerade aktive Eintrag zum aktuellen Eintrag gemacht wird

– durch Mausclick auf einen anderen als den aktiven Eintrag– durch Tastatur-Navigation

wird nicht aktiviert:– bei Klick in den ScrollBar– bei Klick in nicht belegte Teile einer Listbox

bei MultiSelect = .T. auch beim Deselektieren des Eintrags

Page 23: List und Combo Boxen. © 1999 TMN-Systemberatung GmbH Grundsätzliches n List und Combo Boxen sind sich im Aufbau sehr ähnlich und wurden bzgl. Datenquellen.

© 1999 TMN-Systemberatung GmbH

ProgrammaticChange-Event

wird aktiviert, wenn der Wert einer Box per Programm geändert wird (Value Eigenschaft)

Es empfiehlt sich in der Regel den ProgrammaticChange Event an den InterActiveChange Event weiterzureichen.

Page 24: List und Combo Boxen. © 1999 TMN-Systemberatung GmbH Grundsätzliches n List und Combo Boxen sind sich im Aufbau sehr ähnlich und wurden bzgl. Datenquellen.

© 1999 TMN-Systemberatung GmbH

Valid-Event

wird aktiviert:– bei Mausclick (Auswahlliste der ComboBox)– bei Maus-Doppelclick (ListBox)– beim "ENTER"-Drücken (List-/ComboBox; die ListBox und

eine nicht aufgeklappte ComboBox verliert bei TabStop=.T. in diesem Fall den Focus!)

wird nicht aktiviert:– bei Mausclick in ListBox– bei Tastatur-Navigation in aufgeklappter ComboBox

Page 25: List und Combo Boxen. © 1999 TMN-Systemberatung GmbH Grundsätzliches n List und Combo Boxen sind sich im Aufbau sehr ähnlich und wurden bzgl. Datenquellen.

© 1999 TMN-Systemberatung GmbH

When-Event

wird aktiviert:– beim Aktivieren einer List- oder ComboBox– als letzter Event bei Mausklick oder Tastatur-Navigation in

der ListBox (außer bei Mausclick auf den aktiven Eintrag!)– als letzter Event bei Mausklick oder "ENTER"-Drücken in

der aufgeklappten ComboBox– beim "ENTER"-Drücken (ListBox und nicht aufgeklappte

ComboBox bei TabStop=.F.)

Page 26: List und Combo Boxen. © 1999 TMN-Systemberatung GmbH Grundsätzliches n List und Combo Boxen sind sich im Aufbau sehr ähnlich und wurden bzgl. Datenquellen.

© 1999 TMN-Systemberatung GmbH

Wie verwende ich die Boxen

Bei reiner Anzeige ohne Sorted, Mover können Sie bedenkenlos alle RowSourceTypes verwenden.

Wenn Sie Movers, Sorted verwenden oder aber Einträge Hinzufügen oder Entfernen möchten so empfehlen wir ihnen RowSourceType 0 - None und das Arbeiten über die ID´s. – Hierzu können Sie sich dann eine eigene Klasse mit

der gewünschten Grundfunktionalität bauenBsp.: Alle Einträge in Array stellen, Listbox aus Array füllen.....

Page 27: List und Combo Boxen. © 1999 TMN-Systemberatung GmbH Grundsätzliches n List und Combo Boxen sind sich im Aufbau sehr ähnlich und wurden bzgl. Datenquellen.

© 1999 TMN-Systemberatung GmbH

Wie verwende ich die Boxen

Auch bei den Combos sollten Sie sich eine Klasse bauen. – Gerade die Funktionalität neue Werte einzutragen

und diese sofort in der Liste zur Verfügung zu haben sollten Sie nicht jedesmal neu programmieren.

Ansonsten geht bei den Combos probieren über studieren

Page 28: List und Combo Boxen. © 1999 TMN-Systemberatung GmbH Grundsätzliches n List und Combo Boxen sind sich im Aufbau sehr ähnlich und wurden bzgl. Datenquellen.

© 1999 TMN-Systemberatung GmbH

Zusammenfassung

Einsatz der Boxen Row Source Type Spezielle Properties und Events Methoden und Properties Zugriff auf Einträge Properties für Mehrspaltigkeit InterActive und ProgrammaticChange Valid When

Page 29: List und Combo Boxen. © 1999 TMN-Systemberatung GmbH Grundsätzliches n List und Combo Boxen sind sich im Aufbau sehr ähnlich und wurden bzgl. Datenquellen.

© 1999 TMN-Systemberatung GmbH

Anregungen und Fragen

TMN-Systemberatung GmbH

Allee 62

74072 Heilbronn

http://www.tmn-systemberatung.de

[email protected]