Ich habe eine Treeview und eine Listview, und eine Schaltfläche, die ausgewählte Elemente aus der Treeview in die Listview verschieben sollte. Die Auswahl und die Übertragung sind vollkommen in Ordnung, aber das Löschen der Elemente aus der Baumansicht ist nicht möglich. Es funktioniert nur, wenn ich ein einzelnes Element unter der Baumansicht auswähle. Wenn ich TreeView1.MultiSelect := True
habe, dann gibt es ein Problem. HierWie vermeide ich ungültige Indexfehler beim Entfernen von benutzerdefinierten Elementen aus einer TreeView in einer Schleife?
ist der Code, ich verwende:
For i := 0 to TreeView1.Items.Count-1 do Begin
If TreeView1.Items[i].Selected then
Begin
Itm := ListView1.Items.add;
.....
TreeView1.Items[i].Delete
Der obige Code gibt einen ungültigen Index nach einer bestimmten Auswahl. Nicht perfekt manchmal wird nur einer von zwei ausgewählt hinzugefügt.
Versuchte:
For i := TreeView1.Items.Count to 1 do Begin
- Populated Listview und dann versuchte, von treeview zu löschen, statt simulatainously es zu tun. Derselbe Fehler.
- Versucht, Parent und Child in einem Array zu speichern und sie später mit dem Namen zu löschen. Problem ist ein bestimmter Artikel, der in der Baumansicht nicht ausgewählt ist.
Dies ist der Code, der nicht funktioniert, wenn ich wählen Sie das letzte Element alle Elemente in den übergeordneten Knoten
for Itr := TreeView1.Items.Count-1 downto 0 do Begin
if TreeView1.Items[Itr].Selected then
begin
Str := TreeView1.Items[Itr].Parent.Text + ' ,' + TreeView1.Items[Itr].Text;
TrimLeft(Str);
for k := 0 to SaveList.Count -1 do Begin
If ansipos(Str, SaveList[k]) > 0 Then Begin
Value := StringReplace(SaveList[k], Str, '',[rfReplaceAll, rfIgnoreCase]);
End;
End;
Itm := ListView1.Items.Add;
Itm.Caption := TreeView1.Items[Itr].Parent.Text;
Itm.SubItems.Add(TreeView1.Items[Itr].Text);
Itm.SubItems.Add(Value);
TreeView1.Items[Itr].Delete
end;
End;
Es tut mir leid, seine Downto 0 nur, kleiner Tippfehler –
@siddharthtaunk Beachten Sie auch 'TreeView1.Items.Count-1'! –
Ich erhalte einen ungültigen Indexfehler, sobald ich das letzte Element in der Baumstruktur auswähle. Und mehr als zwei oder drei Elemente in der Struktur und @Tom Noted –