ListView Spalte auslesen und in ListBox anzeigen

Sniperdennis

Mitglied
Hallo,
undzwar habe ich ein Problem.
Ich habe eine ListView und bei Shift + Doppelklick auf eine Zeile öffnet sich eine neue Form.
Darauf sind Textboxen und eine ListBox mit Checkboxen. In der Listbox stehen jetzt mehrere Einträge z.b.

Eintrag 1
Eintrag 2
Eintrag 3
Eintrag 4
...

So jetzt werden auch alle Textboxen gefüllt mit dem entsprechenden Spalten Inhalt. So jetzt ist aber eine Spalte ein bisschen kniffliger sieht z.b so aus "Eintrag 1, Eintrag 3, Eintrag 15" also alle mit einem "," getrennt. Jetzt sollten Eintrag 1, 3 und 15 in der ListBox angekreutzt werden. Das Problem ich kriegs nicht mal hin wenn da nur "Eintrag 1" stehen würde :( . Es müsste zwingend nach dem Wort was in der ListView Splate steht angekreuzt werden. Wenn da jetzt "Mustermann" in der Spalte steht muss in der ListBox nach dem Wort "Mustermann" gesucht werden und angekreutzt werden. Das Wort was in der Spalte steht ist in der ListBox vorhanden muss nur angekreutz werden. Aber nur ist gut :(

Hoffe mir kann einer helfen.

MfG,
Sniperdennis
 
Zuletzt bearbeitet:
Ich geh mal davon aus, dass in der Listbox alle möglichen Einträge stehen, die möglich sind, du das gewählte ListSubItem per Split-Funktion mit Komma als Trennzeichen in ein Array aufsplittest.

Dann ist es relativ einfach per schleife LBound bis UBound des Arrays, folgende API kannst du zum Suchen in der LB verwenden: http://www.wbrnet.info/db/0549.html

Falls der eintrag gefunden wird, kannst du bequem über
Listbox.list(i).checked=true gehen, wenn i der rückgabewert der sendmessag ist
Wobei ich jetzt nicht mehr genau weiss, ob die eigenschaft "checked" heisst, oder doch anderst.
 
Zuletzt bearbeitet:
Danke für die Antwort werde es am Wochenende ausprobieren da ich diese Woche nicht viel Zeit habe. Sieht aber schonmal gut :)
Werde mich dann am Wochenende nochmal melden.
 
So bin schon die ganze Zeit am probieren. Also wenn ich jetzt nur eine Sache im SubItem stehen habe wie z.b "Eintrag12" krieg ich das hin das mir das dann in der ListBox checked wird. Wenn da jedoch mehr stehen wie z.b "Eintrag12, Eintrag15, Eintrag1, Eintrag3" krieg ich das noch immer nicht hin. LBound UBound ist für mich was ganz neues nie damit zu tun gehabt. Habs versucht aber kriegs leider nicht hin.
 
Visual Basic:
Dim splitarray() as string

Splitarray=split(mylistsubitem, ",")

For j=lbound(splitarray) to ubound(splitarray)
I=SendMessage(List1.hWnd, LB_FINDSTRING, -1&, trim$(splitarray(j))
If i>-1 then list1.list(i).checked=true
Next

Habs auf dem ipad geschrieben. Keine gewähr. Korrekte schreibweise usw. Musst du anpassen.
 
Zurück