Angekreutzte ListBox einträge in ListView einfügen

Sniperdennis

Mitglied
Hallo,
undzwar wollte ich Ausgewählte ListBox Einträge in eine ListView Spalte einfügen das kriege ich auch mit dem Code hier hin:
Code:
ListView1.ListItems.Add(, , ListBox.Text)

So da ich aber den ListBox Style auf 1 - Kontrollkästchen gestellt habe möchte ich das ein oder mehrere angekreuzte Kästchen in die ListView rein sollen und nicht wenn ich die Zeile selbst makiere. Habs damit versucht klappt jedoch nicht:

Code:
ListView1.ListItems.Add(, , ListBox.Selected(ListBox.Text))

EDIT:
So hab ein Code Schnipsel im Internet gefunden womit es funktioniert jedoch funktioniert es nur wenn ich nur ein Eintrag ausgewählt habe.

Code:
For b = 0 To ListBox.ListCount - 1
If ListBox.Selected(b) = True Then
endlich = ListBox.list(b)
End If
Next

'Irgendwann weiter dann das
lListItem.ListSubItems.Add , , endlich


Ich hoffe ihr könnt mir weiter helfen.

MfG,
Sniperdennis
 
Zuletzt bearbeitet:
Visual Basic:
For b = 0 To ListBox.ListCount - 1

If ListBox.Selected(b) = True Then

     ListView1.ListItems.Add(, , ListBox.list(b))

End If

Next
 
Ja das klappt ja soweit jedoch trägt der nur ein angekreuzten ListBox eintrag in die ListView ein. Wenn ich jetzt mehrere ankreuze tut der immer den in die ListView, der als untester angekreuzt ist anstatt beide Einträge.
 
Ja ok jetzt gehts hatte bisschen was falsch gemacht. Es klappt dennoch nicht so ganze wie ich es will. Hier ein Beispiel wie die listview dan aussehen soll.

Beispiel 1:
Code:
Name                   ListBoxEintrag                   Nummer
Mustermann         Eintrag1, Eintrag2             123456

Er macht aber das hier:

Beispiel 2:
Code:
Name                   ListBoxEintrag                   Nummer
Mustermann         Eintrag1                            123456
Mustermann         Eintrag2                            123456


Anstatt es in die Selbe spalte sollte Legt er mir 2 Zeilen an.
Beispiel 1 ist wie es werden sollte.
Beispiel 2 ist wie es wird aber nicht sollte.

MfG
Sniperdennis
 
Logisch! Du hast wahrscheinlich in deiner Listbox zwei Zeilen für Mustermann, eine mit Eintrag1, eine mit Eintrag2, und bei beiden ist die Checkbox aktiviert.

Woher soll der Code wissen, dass die Einträge für Mustermann gruppiert werden sollen?
 
Also nicht ganz. Es soll im grunde genommen ein Programm für Reservierungen werden. Da habe ich zb. eine Textbox für den Namen eine weiter für die Telefonnummer dann eine Box wo ich das Datum auswählen kann und natürlich das wichtigste wo ja meine Frage hingeht die ListBox mit dem Inhalt was der jenige Reservieren möchte. Dann natürlich der Button um die Reservierung in die ListView hinzuzufügen. Dann macht der mir eine Zeile für den Namen z.b. Mustermann mit den ganzen Daten wie Name, Telefonnummer etc. und natürlich das wichtigste was er Reservieren will. Jetzt soll er mir natürlich eine Zeile anlegen wo ich dann in der Spalte Reservierung mehrere sachen stehen haben kann da ja Person Mustermann 2 verschiedene sachen reservieren kann. Dafür will ich ja keine 2 zeilen. Alles ist soweit fertig nur hier dran hängt es und ich weiß nicht wie ich das beweltigen kann :(
 
Zuletzt bearbeitet:
Ach so! Ich dachte der Name "Mustermann" steht mit in der Listbox. Ist eigentlich recht einfach.

Lies dir im Vorfeld mal die Hilfe zu ListView durch, besonders das hinzufügen von ListSubItems.
Mein Beispiel setzt voraus, dass das ListView 3 Spalten hat (Name, Reservierung, Nummer)

Visual Basic:
'Code gehört in das Click-Event deiner Befehlsschaltfläche
Private Sub AddListView_Click()
Dim Dummy As String
Dim b As Long

ListView1.ListItems.Add
ListView1.ListItems(ListView1.ListItems.Count).Text=txtName.Text
Dummy=""

For b = 0 To ListBox.ListCount - 1
 
If ListBox.Selected(b) = True Then
 
     dummy=dummy & ListBox.List(b) & ", "
 
End If

Next

ListView1.ListItems(ListView1.ListItems.Count).ListSubItems.Add , , Left$(Dummy, Len(Dummy)-2)
ListView1.ListItems(ListView1.ListItems.Count).ListSubItems.Add , , txtNummer.Text

End Sub

Achtung: Angabe ohne Gewähr. Alles ungetestet.

EDIT: Ich hatte nen Fehler im Code oben i Zeile 14. Jetzt behoben!
 
Zuletzt bearbeitet:
ES KLAPPT! Endlich! :) Du bist der beste! Ich habe das ganze Internet für diese Lösung durch gesucht und nichts gefunden. Und dann deine Antwort... :):):)
 
Naja, der beste bin ich sicher nicht *gg*

Aber dann bitte Thread als erledigt markieren, und ein Dankes-Click wäre auch nicht verkehrt *gg*
 
Zurück