Thema: Delphi Listview NICHT sortieren

Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#8

Re: Listview NICHT sortieren

  Alt 30. Aug 2009, 08:57
Die Sortierreihenfolge einer ListView wird durch die Eigenschaft 'SortType' definiert. Der von Dir beobachtete Effekt tritt dann ein, wenn SortType einen anderen Wert als 'stNone' hat. Ohne weiteres Zutun ist das ListView bestrebt, jede Änderung an den Items sofort sortiert darzustellen. Als Abhilfe umklammere deine Umbenennungsoperationen mit einem ListView.Items.BeginUpdate / EndUpdate, so etwa:
Delphi-Quellcode:
  ...
  ListView.Items.BeginUpdate;
  Try
    For i:=0 to ListView.Items.Count - 1 do
      RenameItem (ListView.Items[i]);
  Finally
    ListView.Items.EndUpdate;
  End;
  ...
Durch das 'BeginUpdate' wird nun sowohl die Darstellung als auch die instantane Sortierung blockiert, bis 'EndUpdate' aufgerufen wird.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat