AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Items einer TListView tauschen

Ein Thema von xZise · begonnen am 25. Mär 2006 · letzter Beitrag vom 26. Mär 2006
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#1

Items einer TListView tauschen

  Alt 25. Mär 2006, 20:49
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!
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Items einer TListView tauschen

  Alt 25. Mär 2006, 20:56
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;
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#3

Re: Items einer TListView tauschen

  Alt 25. Mär 2006, 21:00
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?
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Items einer TListView tauschen

  Alt 25. Mär 2006, 21:10
Zitat:
Welche Procedure wird ausgeführt, wenn ich die Liste mit TListView.Clear lösche?
Also beim Löschen eines Eintrags wird sie Methode ausgeführt, auf welche die Property .OnDeletion zeigt. Ich nehem an, das dieser Event beim Löschen der kompletten Liste auch ausgeführt (Count mal?) wird.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Corpsman
Corpsman

Registriert seit: 8. Nov 2005
Ort: nähe Stuttgart
981 Beiträge
 
Delphi XE2 Professional
 
#5

Re: Items einer TListView tauschen

  Alt 25. Mär 2006, 21:14
gibt es nciht auch eine Swap oder Move Function ?

Laut meiner Delphi Hilfe gibts ne Move Function die müste auch gehn.

Zitat:

Die Methode Move ändert die Position eines Elements im Array Items.

procedure Move(CurIndex, NewIndex: Integer);

Beschreibung

Mit Move kann ein Element von der Position CurIndex an die Position NewIndex verschoben werden. Die Numerierung der Indexangaben CurIndex und NewIndex beginnt bei Null für das erste Element.
Uwe
My Sitewww.Corpsman.de

My marble madness clone Balanced ( ca. 70,0 mb ) aktuell ver 2.01
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#6

Re: Items einer TListView tauschen

  Alt 25. Mär 2006, 21:29
Zitat von Corpsman:
Laut meiner Delphi Hilfe gibts ne Move Function die müste auch gehn.
Wäre net, wenn du das mal genauer erläutern würdest...
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Items einer TListView tauschen

  Alt 25. Mär 2006, 21:33
Na probiers doch einfach mal...

Delphi-Quellcode:
procedure OneUp(Item: TListViewItem);
begin
Item.Move(Item.Index-1);
end;
Das hier sollte schon seinen Dienst tun.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#8

Re: Items einer TListView tauschen

  Alt 25. Mär 2006, 21:45
Naja... Mit TListViewItem meckert er rum (kennt er nicht) und TListItem kennt die methode Move net!
Miniaturansicht angehängter Grafiken
tlwi_587.jpg   move_195.jpg  
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Items einer TListView tauschen

  Alt 25. Mär 2006, 21:59
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;
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#10

Re: Items einer TListView tauschen

  Alt 25. Mär 2006, 23:06
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.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz