AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi TListView füllen dauert lange - Geht es auch schneller?
Thema durchsuchen
Ansicht
Themen-Optionen

TListView füllen dauert lange - Geht es auch schneller?

Ein Thema von Ares · begonnen am 24. Apr 2007 · letzter Beitrag vom 24. Apr 2007
Antwort Antwort
Seite 2 von 2     12   
uwewo

Registriert seit: 14. Jul 2004
Ort: Karlsruhe
479 Beiträge
 
Delphi 2006 Professional
 
#11

Re: TListView füllen dauert lange - Geht es auch schneller?

  Alt 24. Apr 2007, 16:40
Versuchs mal hiermit, beschleunigt ungemein

Delphi-Quellcode:
ListView1.Items.BeginUpdate;
//hier die Werte hinzufügen
ListView1.Items.EndUpdate;
Uwe
  Mit Zitat antworten Zitat
Ares

Registriert seit: 5. Dez 2002
269 Beiträge
 
#12

Re: TListView füllen dauert lange - Geht es auch schneller?

  Alt 24. Apr 2007, 16:52
Zitat von uwewo:
Versuchs mal hiermit, beschleunigt ungemein

Delphi-Quellcode:
ListView1.Items.BeginUpdate;
//hier die Werte hinzufügen
ListView1.Items.EndUpdate;
Das bringt leider keine Besserung...



Zitat von CCRDude:
Infos private in der Form, dann virtuell, wie ich schon sagte:

Delphi-Quellcode:
MyListView.OwnerData := true;
MyListView.Items.Count = Length(Infos);

procedure TMyDlg.MyListViewData(Item: TListItem);
begin
   if Item.Index>=Length(Infos)
    then Exit;
   Item.Caption := Infos[Item.Index].str1;
   Item.SubItems.Add(Infos[Item.Index].str2);
   if (Infos[Item.Index].num=mnOne) then begin
      Item.SubItems.Add('One');
      Item.Checked := true;
   end else begin
      Item.SubItems.Add('Two');
      Item.Checked := false;
    end;
end;
Dadurch wird Infos nur noch dann verarbeitet, wenn die GUI die Anzeige verlangt (bzw. Du Funktionen wie sortieren etc. aufrufen würdest).

(PS: VirtualStringTree ist da doch schon eher Overkill, virtuell können auch normale Listen )
Das funktioniert prima, der Dialog öffnet sich nun ohne Verzögerung. Allerdings werden die Checkboxen nicht mehr gezeichnet. Gibt es dafür auch noch einen Trick?
  Mit Zitat antworten Zitat
CCRDude
(Gast)

n/a Beiträge
 
#13

Re: TListView füllen dauert lange - Geht es auch schneller?

  Alt 24. Apr 2007, 17:37
Oh, sorry, daß es da um Checkboxen ging hab ich überlesen... da gab es irgend einen "Trick" zu, in virtuellen Listen gingen die sonst nicht sofort. Komm leider gerade nicht drauf, wie der ging (wenige Zeilen Code, aber nicht trivial genug um sie auswendig zu wissen, wenn man wie ich doch zu oft auf TVirtualStringTree ausweicht ).
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 18:55 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