Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Listview Probleme (https://www.delphipraxis.net/125286-listview-probleme.html)

berndn 3. Dez 2008 16:57


Listview Probleme
 
Hallo alle,
ich habe ein Problem mit einem Listview.
Es wird ordentlich mit Daten gefüllt. Ich kann die Spalten sortieren. Nach dem Sortieren funktioniert jedoch kein 'neubefüllen' des Listview was ich mittels:

ListView.Clear

mache. Der Befehl wird noch ausgeführt aber beim neuen zuweisen von Daten erhalte ich einen Out Of Bounds Fehler. :roll:

Kann ich es noch anders löschen oder muss ich Objekte die aufgrund der Sortierung entstanden sind noch freigeben ?

DeddyH 3. Dez 2008 17:11

Re: Listview Probleme
 
Ohne Code kann man da nicht viel sagen. Was machst Du denn nach dem Clear?

berndn 3. Dez 2008 17:41

Re: Listview Probleme
 
Ich fülle das Listview wieder mittels:

Delphi-Quellcode:
// ListView.Clear hatte es auch nicht gebracht
ListView,Items.Clear;

For I := 0 to rows -1 do
begin
  TlistItem := ListView.Items.Add;
  TlistItem.Caption := 'String 1';
  TlistItem.SubItems.Add('String 2');
  TlistItem.SubItems.Add('String 3');
end
String1-3 werden aus einer SQL Abfrage bereitgestellt die ich über 'Filter' neu definieren kann. Die 'Filter' alleine funktionieren hervorragend. Die Sortierung der Spalten alleine funktioniert hervorragend :-D

Jedoch wenn ich die Filter benutze nach neusortierung durchläuft er die Schleife einmal und dann bekomme ich die Fehler Meldung:

EStringListError with message 'List index out of bounds(0)'.

DeddyH 3. Dez 2008 17:49

Re: Listview Probleme
 
Und was ist rows? Die Anzahl der Datensätze?

[edit] Die Variable heißt nicht wirklich TlistItem, oder? [/edit]

berndn 3. Dez 2008 17:53

Re: Listview Probleme
 
Ja,
und ich habe den Fehler gefunden. Es lag an meiner Implementierung der Sortierung. Ich habe die Indexe leider nicht zurückgesetzt mit denen sortiert wurde.

Aber die Art wie ich das ListView zurücksetzte ist doch vom Prinzip her richtig ?

Also ListView.Items.Clear; ? Oder ListView.Clear ? Ich brauche den Inhalt nicht mehr da es komplett mit neuen Daten aus der SQL Abfrage gefüllt wird.

Edit: Nein die Variaben/Objekte heißen nicht so :P

DeddyH 3. Dez 2008 18:00

Re: Listview Probleme
 
Ehrlich gesagt konnte ich nach einem Blick in die Hilfe auf die Schnelle auch nicht herausfinden, ob zwischen ListView.Clear und ListView.Items.Clear signifikante Unterschiede bestehen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:43 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