Listview - Einträge entfernen
- VB.NET
- .NET (FX) 4.5–4.8
Sie verwenden einen veralteten Browser (%browser%) mit Sicherheitsschwachstellen und können nicht alle Funktionen dieser Webseite nutzen.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Es gibt 25 Antworten in diesem Thema. Der letzte Beitrag () ist von kingsunil2000.
-
-
-
-
-
Da liegt ja das Problem, es kann nicht -1 sein denn:
Es ist kein numerischer Datentyp.
Ich schätze du willst wissen ob das Array befüllt ist, was du mit .Length/.Count herausfinden kannst. Da ich annehme, dass du jeden selektieren Wert löschen willst, würde ich dir einfach zu einer For Each-Schleife raten, die springt nur an, wenn was in der Aufzählung drinne ist.
Übrigens kann eine Aufzählung nie -1 als Anzahl haben, da Nullbasierung.
LG -
-
Schau dir doch mal das Ganze auf MSDN an:
ListView.SelectedIndices ist vom Typ eine ListView.SelectedIndexCollection
Wenn du dir jetzt die Properties von der Collection ansiehst, sollte dir so gleich die Lösung ins Auge springen.
LG -
-
Nein du springst an die erste Stelle der Aufzählung und überprüfst ob das Object den Wert -1 hat. Die Probleme daran sind:
-Du proggst scheinbar Option Strict Off, bringst dir also ne Menge Stolpersteine ein
-Du willst die Anzahl der Items in der Aufzählung wissen, nicht welcher Wert der erste Index hat
-Wenn die Aufzählung leer ist und du versuchst auf das erste Object zuzugreifen, bekommst du Prompt eine Exception, denn die Aufzählung ist leer, da gibt es kein erstes Object
-Und ich wiederhole mich: Die Aufzählung ist gefüllt mit Objecten, nicht mit numerischen Datentypen, du vergleichst also Äpfel mit Birnen
Und um mich zu zitieren:ChOoSeMyNaMe schrieb:
du willst wissen ob das Array befüllt ist, was du mit .Length/.Count herausfinden kannst.
Die Lösung deines Problems.
LG -
ich glaub nicht unbedingt, dass das das Problem löst.
Jdfs. den Verdacht hab ich, dass er SelectedIndicees mit SelectedIndex durcheinanderbringt.
Weil SelectedIndex kann zB -1 sein, SelectedIndicees aber nicht.
Aber solange er meinen Post ignoriert, und uns hier nachwievor nur seine 2 verlorenen Zeilen vorsetzt, findich habich eiglich schon zuviel gesagt. -
-
Du bringst schon wieder was durcheinander.
Und was soll ühaupt heissen "ListViewItem lassen kein SelectedIndex zu"?
Ein ListViewItem hat überhaupt keine SelectedIndex-Property.
ListViewItem hat ja auch keine SelectedIndicees-Property.
Wie bist du überhaupt an die SelectedIndicees-Property "herangekommen" (was immer damit eiglich gemeint ist)?
Auf dieselbe Weise kannste glaub auch an SelectedIndex "herankommen". -
-
-
-
ja, und genau so gehts auch mittm SelectedIndex
ich krieg ja keinen Code von dir zu sehen, aber wenn duSelectedIndicees
umänderst zuSelectedIndex
, dann "kommst du an SelectedIndex heran".
-
VB.NET-Quellcode
- For Each selitem As ListView.SelectedIndexCollection In LV.SelectedItems
- If Not selitem.Item(-1) Then
- If MessageBox.Show("Soll das ausgewählte Item entfernt werden?", "Item entfernen", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
- LV.SelectedItems.Item(0).Remove()
- End If
- End If
- Next
Das ist der gesamte Löschvorgang. Der funktioniert aber nicht. -
-
Du bringst hier erneut alle möglichen Datentypen durcheinander, bitte stelle unbedingt Option Strict ON.
SelectedItems ist vom Typ her System.Collections.IList, da kannst du also schonmal nicht mit ListView.SelectedIndexCollection. Allein schon weil das eine Auflistung ist und somit da nichts verloren hat.
Und um es nochmal zu sagen: Auflistungen beginnen bei 0! Wenn du wissen willst ob die Auflistung leer ist, dann überprüfe dies mit .Count oder .Length
Diese Zeile ist unnötig, du bekommst doch mit der Schleife jedes Item serviert, du musst nur wissen was du damit anstellen sollst.
LG -
Die ListView ist MultiSelect = False. Deshalb habe ich es so gemacht. Nutze jetzt aber wieder die For Each-Schleife zum löschen.
Andere Frage: Wie kann man das selektierte Item einer ListView speichern?
Also das bei jedem Mal SelectedIndex_Changed, das neu ausgewählte Item in den My.Settings gespeichert wird. Und beim Form_load-Event direkt wieder ausgewählt wird.
-
Ähnliche Themen
-
Doppelte Einträge aus ListView entfernen
Jonas Jelonek - - Sonstige Problemstellungen -
Papst94 - - Sonstige Problemstellungen
-
4 Benutzer haben hier geschrieben
- kingsunil2000 (12)
- Gast (7)
- ErfinderDesRades (6)
- Fakiz (1)