Entwickler-Ecke
WinForms - ListView Multiselect
Trombone - Mo 22.08.11 23:59
Titel: ListView Multiselect
Moin,
folgendes Problem stellt sich mir,
ich würde gerne die in einer ListView über multiselect ausgewählten Zeilen weiterverarbeiten.
Wie kann ich verhindern das die Auswahl entfernt wird, sobald ich auf einen Button klicke oder ein anderes Event auslöse?
Wie kann ich die SelectedItems mit einer foreach Schleife auslesen oder durchlaufen?
Würde mich über Rat freuen!
mats74 - Di 23.08.11 07:01
Hallo Trombone
Die Auswahl wird nicht entfernt sondern nur ausgeblendet.
Dafür kannst Du die Eigenschaft HideSelection() auf False setzen, damit die Selektion sichtbar bleibt, wenn das Steuerelement keinen Fokus hat.
Durchlaufen der ListViewItems:
C#-Quelltext
1: 2:
| foreach(ListViewItem lvi in listView1.SelectedItems){ } |
Dabei kannst Du die einzelnen ListViewItem-Indexe der selektierten Zeilen in ein Array (oder sonstiges Speichermedium) auslesen und zu einem späteren Zeitpunkt bei Bedarf wieder mit einer foreach-Schleife selektieren.
Dies ist ein möglicher Lösungsvorschlag, es gibt sicherlich noch weitere Lösungsansätze.
Gruss
mats74
Trombone - Di 23.08.11 10:17
So funktionierts!
Ich übertrage die Items direkt in eine ander ListView:
C#-Quelltext
1: 2:
| foreach (ListViewItem lvi in listViewAll.SelectedItems) listViewSome.Items.Add(lvi.Text); |
oder entferne Sie aus der aktuellen ListView:
C#-Quelltext
1: 2:
| foreach (ListViewItem item in listViewAll.SelectedItems) listViewAll.Items.Remove(item); |
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!