![]() |
Items einer TListView tauschen
Ich möchte die Items von einer TListView tauschen...
Ums genau zusagen: Das markierte Item soll eine Position nach obengerückt werden (mit der Folge, dass das obere nach unten rutscht)! Wie kriege ich das gebacken? Eine Idee wäre das Item von Position X an Postion X - 1 zu kopieren und das Item dann an Position X + 1 zu löschen, nur das kopieren macht mir Probleme! |
Re: Items einer TListView tauschen
Ich würde das Problem durch einen Dreieckstasuch lösen:
Delphi-Quellcode:
hilf := ListView.Items[x];
ListView.Items[x] := ListView.Items[x-1]; ListView.Items[x-1] := hilf; |
Re: Items einer TListView tauschen
Achso ;) Daran habe ich natürlich nicht gedacht, dass ich sie einfach überschreiben könnte ^^ So.. Nun meine 2. Frage:
Welche Procedure wird ausgeführt, wenn ich die Liste mit TListView.Clear lösche? |
Re: Items einer TListView tauschen
Zitat:
|
Re: Items einer TListView tauschen
gibt es nciht auch eine Swap oder Move Function ?
Laut meiner Delphi Hilfe gibts ne Move Function die müste auch gehn. Zitat:
|
Re: Items einer TListView tauschen
Zitat:
|
Re: Items einer TListView tauschen
Na probiers doch einfach mal...
Delphi-Quellcode:
Das hier sollte schon seinen Dienst tun.
procedure OneUp(Item: TListViewItem);
begin Item.Move(Item.Index-1); end; |
Re: Items einer TListView tauschen
Liste der Anhänge anzeigen (Anzahl: 2)
Naja... Mit TListViewItem meckert er rum (kennt er nicht) und TListItem kennt die methode Move net!
|
Re: Items einer TListView tauschen
tatsächlich... hätt ich doch zuvor selber ausprobieren sollen... dann musst dus doch rausnehmen und wieder einfügen.
Delphi-Quellcode:
i := ListView1.Selected.Index;
s := ListView1.Selected.Caption; Listview1.Selected.Delete; Listview1.Items.Insert(i-1).Caption := s; |
Re: Items einer TListView tauschen
Das Prinzip wurde ja bereits erklärt. Du musst im Prinzip über eine zwischenvariable die Werte der Items tauschen. Dabei solltest du aber auch beachten das du nicht nur die Captions, sondern auch die SubItems und Data tauschst.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:10 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz