AGB  ·  Datenschutz  ·  Impressum  







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

VirtualTreeView: Header Drag'n Drop

Ein Thema von Rakshasa · begonnen am 1. Dez 2009 · letzter Beitrag vom 2. Dez 2009
Antwort Antwort
Benutzerbild von Rakshasa
Rakshasa

Registriert seit: 1. Nov 2003
182 Beiträge
 
Delphi 2007 Professional
 
#1

VirtualTreeView: Header Drag'n Drop

  Alt 1. Dez 2009, 23:37
Hallo Leute,

ich habe hier ein Problem, von dem ich nicht weiß, ob's ein Bug oder ein Feature ist:

Ich habe bei meinem VirtualStringTree das Dragging von Columns aktiviert, das funktioniert natürlich auch automatisch.
Wenn ich nun aber in der Methode
Code:
 HeaderDragged(Sender: TVTHeader; Column: TColumnIndex; OldPosition: Integer);
Column und OldPosition mir anschaue, so sind beide immer vollkommen identisch. Warum ist das so? Müsste in OldPosition nicht der Start-Spaltenindex der Drag'n Drop Vorganges gespeichert sein?

Weiteres:

Wenn die Columns nun über Drag'n Drop verschiebe, so werden ja auch die jeweiligen Werte der Spalten richtig verschoben, soweit in Ordnung (also wenn ich Spalte A nach B verschiebe, so verschieben sich auch die Werte von A nach B). NWenn ich nun aber alle Columns in einer Schleife abfrage:

Code:
For x := 0 to vst.header.Columns.Count -1 do begin
  Showmessage(Vst.header.Columns[x].Text);
end;
Dann ist die Reihenfolge immer noch die alte, d.h. die Werte und Spaltenüberschriften werden zwar der nach neuen (verschobenen) Reihenfolge angezeigt, aber wenn ich die neue Reihenfolge über eine Schleife ermitteln will, so erhalte ich immer noch die alten Positionen. Irgendwie scheint es so, als ob die dargestellte (also defacto verschobene) Reihenfolge nicht über die Eigenschaft .Columns abgefragt werden kann?

Kann mir jemand erklären, ob das so ist? Und warum? :-/
  Mit Zitat antworten Zitat
Benutzerbild von Gollum
Gollum

Registriert seit: 14. Jan 2003
Ort: Boxberg
456 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

Re: VirtualTreeView: Header Drag'n Drop

  Alt 2. Dez 2009, 07:21
Hallo,

die (interne) Reihenfolge der Columns ändert sich nicht.
Die aktuelle Position des Columns bekommst Du mit der Property Position
Delphi-Quellcode:
with vst.header do
  for x := 0 to Columns.Count -1 do
    ShowMessage(Columns[Columns[x].Position].Text);
  Mit Zitat antworten Zitat
Benutzerbild von Rakshasa
Rakshasa

Registriert seit: 1. Nov 2003
182 Beiträge
 
Delphi 2007 Professional
 
#3

Re: VirtualTreeView: Header Drag'n Drop

  Alt 2. Dez 2009, 20:09
Aaah, super!

Danke!!
  Mit Zitat antworten Zitat
Antwort Antwort


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:06 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