Einzelnen Beitrag anzeigen

Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.015 Beiträge
 
Delphi 2009 Professional
 
#3

AW: Drag & Drop in TListView mit TStringList

  Alt 25. Mai 2020, 21:36
Also du hast eine einzige StringList mit einem Eintrag pro TListItem? Das ist extrem unklug, da der einzige Bezug über TListItem.Index erfolgt, was aber variabel ist. Viel einfacher wäre es, wenn sich die Daten gezwungenermaßen mit dem TListItem bewegen. Dazu gibt es verschiedene Ideen:
  • Den String in TListItem.SubItems.Text ablegen, sofern das sonst nicht genutzt wird
  • Statt der TStringList ein TDictionary<TListItem, string> verwenden
  • In der TStringList nichts tun, was die Indizes der Einträge verändert, und diese Indizes über einen Cast von/nach NativeInt in TListItem.Data speichern
  • TListItem vererben und den String in einem neuen Feld speichern
Danach kann man nochmal über DnD sprechen, wenn es da nicht schon was Fertiges gibt, da man dann so ziemlich jeden Algorithmus nutzen kann, der die TListItems verschiebt.
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat