Keinen Zugriff auf die ausgewählten items-Auflistung, wenn das ListView im virtuellen Modus?
Ich habe ein ListView im Virtuellen Modus. Ich will Zugang SelectedItems
Eigenschaft.
Aber wenn ich ListView1.SelectedItems
ich erhalten die folgende Ausnahme :
Cannot access the selected items collection when the ListView is in virtual mode
Wie kann ich Zugriff auf ListView1.SelectedItems
im VirtualMode.
- check this : stackoverflow.com/questions/444727/...
InformationsquelleAutor Mohammad Dayyan | 2010-10-08
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist es ziemlich Alter post, aber vielleicht jemand anderes profitieren.
Verwenden Sie einfach
ListView.SelectedIndexCollection col = listView.SelectedIndices;
Dann können Sie den Zugriff auf ein Element:
..aber Sie werden nicht in der Lage zu Durchlaufen ListView.Elemente mit foreach, weil es keinen iterator in diesem Modus verfügbar. Mit indexer-nur Fliegen ist fein 🙂
Wenn Sie versuchen, foreach verwenden Sie eine Ausnahme:
Aus der docs
Im virtuellen Modus, die Sammlung "Items" deaktiviert ist. Versuchen zuzugreifen, es führt zu einer InvalidOperationException. Das gleiche gilt von der CheckedItems-Auflistung und die SelectedItems-Auflistung. Wenn Sie abrufen möchten, und der ausgewählten oder markierten Elemente, verwenden Sie die SelectedIndices und CheckedIndices Sammlungen statt.
Ich Sie speichern alle Elemente in der Liste und verwenden Sie diese Liste, geben Element in RetrieveVirtualItem
Sie können ausgewählte Elemente, die wie folgt
Ich es getan habe, indem Sie den folgenden code, aber es ist eine Ausnahme, wenn mehr als ein Element ausgewählt werden:
Immer, wenn Sie entfernen Sie diese(N) Artikel aus einer Sammlung, die immer Durchlaufen, von den größten index der kleinste index, so:
Dies ist, weil jedes mal, wenn Sie entfernen ein Element in einer Sammlung ist, wird der index ändern, wenn Sie nicht Durchlaufen, von der größten bis zur kleinsten index.