# listview und checkbox



## genpop (13. März 2005)

Hallo,
wer hilft mir bei meinem Problem?
Ich habe ein list view mit aktivierten checkboxes erstellt.
Ich möchte abhängig vom Wert der checkbox die Zeilen (Listitems) der listview  auslesen.
Zu diesem Zweck habe ich folgenden code geschrieben.

      With lvwKeys

      For i = 0 To .ListItems.Count - 1
      .Refresh
      wert = .ListItems.Item(1).Checked
       usw.
       next
       end with
Markiere ich die erste Checkbox werden alle  Zeilen ausgelesen,
markiere ich die 3.oder 4 Zeile  bleibt  wert immer auf falsch.

Ich danke schon mal im Voraus für eure Hilfe!

Leo


----------



## Shakie (13. März 2005)

Was genau hast du vor?


----------



## genpop (13. März 2005)

Hallo Shake,

Kurz gesagt: ich lese  eine Datei aus und zeige sie da sie nur zwei Spalten hat in einem listview an.
Die listview nehme ich deshalb weil ich zu jeder Zeile automatisch eine checkbox generiert bekomme und die listview nahezu dynamisch erzeugt wird.Nun möchte ich aus der listview heraus eine zweite Datei schreiben in der die Werte der 2.Spalte stehen falls die Checkbox aktiviert wurde.

Also for i=o to ubound listview-1  schreibe listview.Item(3) nach datei falls listview.item(1).checkbox=true  next i

jemand hat eine listview .dll als shareware  mit einer funktion getcheckboxstate geschrieben,aber ich denke das muß doch mit Bordmitteln auch zu machen sein! Hast Du eine Idee?
Gruß Leo


----------



## Shakie (13. März 2005)

```
Dim lngZähler As Long
Dim strAlleWerte As String
For lngZähler = 1 To Me.ListView1.ListItems.Count
	If Me.ListView1.ListItems(lngZähler).Checked Then
		strAlleWerte = strAlleWerte & Me.ListView1.ListItems(lngZähler).SubItems(3) & vbCrLf
	End If
Next
```
Dieser Code schreibt alle "Werte" im ListView, deren Kontrollkästchen aktiviert ist, in die Variable "strAlleWerte", jeweils durch ein vbCrLf (=Zeilenumbruch) getrennt. Jetzt brauchst du blos noch die Variable in eine Datei schreiben (oder die Werte direkt in die Datei schreiben).


----------



## genpop (13. März 2005)

Danke ,
hab ich eingebaut und geht prima,
zuerst habe ich allerdings die Schleife

For lngZähler = 1 To Me.ListView1.ListItems.Count

von 0 bis count-1 laufen lassen und bekam dann wieder  einen Überlauffehler.
Ich denke das war mein Problem auch die ganze Zeit.
Nochmals Danke hat mir geholfen.
Leo


----------

