[Text] ListView für Anfänger Verfasst am: 14.03.2007, 21:53
Thema: [ListView für Anfänger]
Hi Leute.
Ich möchte euch heute mal zeigen welche Vorteile ein ListView gegenüber einer normalen Listbox hat.
Außerdem werde ich euch zeigen wie man mit einem ListView umgeht.
1. Warum sollte man ein ListView einsetzen.
Der größte Vorteil eines ListViews ist meiner Meinung nach, dass man damit viel mehr Möglichkeiten hat als mit einer ListBox, TextBox, ComboBox etc.
In einem ListView kann man Spalten erstellen und diese mit allen möglichen Daten füttern.
Dadurch wird das arbeiten mit Programm für den Benutzer natürlich viel interessanter.
Aber es gibt auch einen Nachteil gegenüber einer normalen Listbox. Es ist um einiges aufwendiger Einträge zu erstellen bzw. sie auszuwerten.
Aber wenn man es einmal verstanden hat, gibt sich dieses Problem wieder.
Und noch ein großer Vorteil ist die höhere Geschwindigkeit des Listviews.
Einträge erstellen, bearbeiten, etc. geht um etwa 30-50% schneller von statten. Das ist natürlich sehr praktisch wenn man viele Einträge in kurzer Zeit erledigen muss.
2. ListView erstellen.
Wir wollen uns jetzt also ein ListView erstellen.
Als erstes müßt ihr das Steuerelement dazu laden. Einige werden damit kein Problem haben, für die anderen erkläre ich es hier.
Ihr drückt einfach [Strg-T], damit sich das Fenster mit den verfügbaren Komponenten öffnet.
Jetzt sucht ihr nach diesem Eintrag: „Microsoft Windows Common Controls 6.0 (SP4)“.
Den aktiviert ihr und dann klickt ihr auf OK.
Fertig.
Jetzt stehen euch links ein paar neue Steuerelemente zur Verfügung.
Jetzt erstellt ihr einfach mal nach Belieben euer ListView.
3. Listview Eigenschaften
Drückt jetzt einfach mal mit der rechten Maustaste auf das Listview => Eigenschaften.
Hier könnt ihr einige Einstellungen machen, von denen ich ein paar erklären werde.
Die meisten Optionen sollten eigentlich klar sein. Besonders solche wie Mousepointer, Arrange, BorderStyle, Appearance usw.
Für uns ist jetzt nur mal View wichtig. Hier könnt ihr die Ansicht eures ListViews einstellen.
Interessant sind auch die Optionen:
Checkboxes: Wenn Aktiviert, dann habt ihr vor jeder Zeile eine Checkbox.
FullRowSelect: Wenn Aktiviert, dann wird immer die ganze Zeile markiert, wenn sie angeklickt wird.
Multiselct: Wenn Aktiviert, dann hat man die Möglichkeit mehrere Einträge auf einmal zu markieren.
GridLines: Wenn Aktivier, dann werden die Spalten und Zeilen mit Linien getrennt.
Die wohl meist genutzte Einstellung beim ListView ist die „lvwReport“ Ansicht, und das macht ihr jetzt auch. Einfach unter View die Option lvwReport wählen.
Als nächstes sehen wir uns den Reiter „Spaltenköpfe“ an.
Hier fügt ihr jetzt so viele Spaltenköpfe ein wir ihr braucht und gebt diesen einen Namen.
Dazu stellt ihr noch für jede Spalte die Breiten und width ein, bzw. ob der Text zentriert, links- oder rechts ausgerichtet sein soll.
Wenn ihr wollt könnt ihr euch noch mit den anderen Reitern wie Farbe, Schriftart usw. spielen, müßt ihr aber nicht.
4. Einen Eintrag ins ListView machen
Nun wollen wir etwas Eintragen.
Als erstes gebt ihr eurem ListView einen einfacheren Namen. Ich benutze einfach lv.
Wenn wir einen einfachen Text eintragen wollen machen wir das so.
Code:
lv.ListItems.Add , , „Hallo Welt“
Dieser Text wird in der ersten Spalte eingetragen. Wenn wir die anderen Spalten nutzen wollen müssen wir das anders machen.
Hier ein Beispiel für die zweite Spalte.
Code:
lv.ListItems(Index).SubItems(1) = "Hallo Welt"
So. Jetzt wird euch erstmal die erste Klammer mit Index drin auffallen.
Jeder Eintrag, bzw. jede Zeile bekommt eine Nummer zugewiesen. Einen Index.
Das heißt also wir können nur dann in die anderen Spalten schreiben, wenn schon ein Eintrag über .Add eingefügt wurde.
Das klingt jetzt kompliziert, ist es aber nicht.
Wir schreiben jetzt einfach alles auf einmal hinein. Dann müssen wir nicht extra den Index des Eintrags rausfinden.
Und dazu erstellen wir uns jetzt erstmal ein Listitem.
Code:
Dim list as Listitem
Jetzt können wir alle unsere Daten in list angeben damit es ins ListView eingetragen wird. Das machen wir mit diesem code.
Code:
Set List = lv.ListItems.Add(, , "Hallo Welt")
With List
.SubItems(1) = "Spalte 2"
.SubItems(2) = "Spalte 3"
End With
Durch die erste Zeile, wird alles in dem ListView eingetragen, das wir an List übergeben.
Und wie ihr seht benutze ich with, damit es nicht zu viel code wird.
Außerdem habt ihr vielleicht schon gesehen, dass neben SubItems(1) der Text „Spalte 2“ steht. Das liegt daran, das die erste Spalte wo „Hallo Welt“ drin steht den Index 0 hat.
Aber aufpassen. Bei den Zeilen ist das im Gegensatz zur Listbox nicht so.
Also wenn ihr die erste Zeile ansprechen wollt, dann hat diese den Index 1.
Falls ihr eine Fehlermeldung erhaltet, liegt das vielleicht daran, dass ihr etwas in eine Spalte eintragen wollt, aber diese vorher nicht erstellt habt. Also zuerst die Spalten unter Eigenschaften hinzufügen.
5. Einträge löschen
Zuletzt zeige ich noch wie man Einträge löschen kann.
Über diesen code läßt sich eine Zeile wieder entfernen.
Code:
lv.ListItems.Remove (Index)
Dazu müßt ihr natürlich den Index, also die Nummer der Zeile wissen.
Eine Liste komplett leeren kann man über diesen Aufruf:
Code:
lv.ListItems.Clear
So. Das war es jetzt erstmal. Ich hoffe ich konnte euch ein wenig die Grundfunktionen eines ListViews erklären.
Folgende Themen gibt es im nächsten Teil:
1. Einen bestimmten Eintrag finden.
2. Über eine Schleife Einträge machen
3. Über eine Schleife Einträge löschen
4. Fehler verhindern
5. Mausklicks auswerten
6. Tastendruck auswerten
mfg, ZiG _________________ Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde)
Zuletzt bearbeitet von ZiG_ am 23.05.2007, 13:50, insgesamt einmal bearbeitet
Teto_ Poster
Anmeldedatum: 28.02.2007 Beiträge: 106
Verfasst am: 15.03.2007, 20:32
geiles tut und hoffe es kommt noch mehr davon,wie das genau geht war das was ich die ganze zeit gesucht habe.
Ich danke dir. _________________
ZiG_ Überflieger
Anmeldedatum: 07.03.2007 Beiträge: 1248
Verfasst am: 15.03.2007, 20:59
Ich hab grad bisschen Stress, aber ich werde auf jedenfall noch weitere Artikel schreiben.
Mit einem ListView arbeiten macht ja auch mehr Spaß als mit einer einfachen ListBox.
ZiG _________________ Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde)
Blue!Sky!_ Coder
Anmeldedatum: 06.10.2007 Beiträge: 227
Verfasst am: 06.01.2008, 09:12
Hab mich noch garnich für das super tutorial bedankt!
Danke ZiG xD ich hoffe man sieht nochmehr von deinen tuts _________________
ZiG_ Überflieger
Anmeldedatum: 07.03.2007 Beiträge: 1248
Verfasst am: 06.01.2008, 12:33
Najo. Hatte schon paar Tuts angefangen, aber dann ist mir die HDD flöten gegangen.
Bis jetzt hatte ich nicht die Zeit und Laune die nochmal anzufangen. _________________ Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde)