Autor Beitrag
Trombone
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26
Erhaltene Danke: 1



BeitragVerfasst: Mo 22.08.11 23:59 
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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 189
Erhaltene Danke: 26

Win 10
VS 2017/19, C++, C#
BeitragVerfasst: 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:

ausblenden 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26
Erhaltene Danke: 1



BeitragVerfasst: Di 23.08.11 10:17 
So funktionierts!

Ich übertrage die Items direkt in eine ander ListView:
ausblenden C#-Quelltext
1:
2:
            foreach (ListViewItem lvi in listViewAll.SelectedItems)     
                listViewSome.Items.Add(lvi.Text);

oder entferne Sie aus der aktuellen ListView:
ausblenden C#-Quelltext
1:
2:
            foreach (ListViewItem item in listViewAll.SelectedItems)
                listViewAll.Items.Remove(item);