AGB  ·  Datenschutz  ·  Impressum  







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

StringGrid mehr als 10000 Zeilen

Ein Thema von Jacki O · begonnen am 4. Mai 2004 · letzter Beitrag vom 4. Mai 2004
Antwort Antwort
Jacki O

Registriert seit: 19. Okt 2003
73 Beiträge
 
#1

StringGrid mehr als 10000 Zeilen

  Alt 4. Mai 2004, 15:19
Hallo,

ich habe in meinem Prog ein TStringGrid, in das mehr als 10000 Zeilen eingefühgt werden sollen.
Der Inhalt der Zeilen stammt aus einer List, die ich leider sequenziell durchlaufen muß um die Informationen in das Grid schreiben zu können. Da diese Angelegengheit sehr zeitaufwendig ist, suche ich nach einem besseren Weg.

Ich habe follgenden Weg überlegt:
Nur 1000 Zeilen eintragen, wenn der Bediener dann scrollt und an eine Endmarke erreicht wird, werden die nächsten 1000 Zeilen geschrieben. Dazu stosse ich das Nachladen der follgenden 1000 Zeilen im OnDrawCell Eventhandler an. Somit sollte dann irgendwann der komplette Inhalt meiner Liste im Grid stehen. Leider funktioniert das nur bedingt, da das Ereigniss anscheinend mehrfach ausgelöst wird, wenn der Scrollbar an der Endekennung steht.
Wie könnte ich das mehrfache Auslösen meiner Nachladefunktion unterbinden ?

Oder bin ich absolut auf dem falschen Weg ?
Denkbar wäre auch, einen Thread mit dem Füllen aller Zeilen zu beauftragen, allerdings weiß ich nicht, wie sich das auf die Performance auswirkt. Das Füllen müsset dann ja im Thread synchronisiert durch Synchronize(Nachlaefunktion) erfolgen.

Weiss jemand rat ?
Dnake im voraus Gruß Jacki
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#2

Re: StringGrid mehr als 10000 Zeilen

  Alt 4. Mai 2004, 15:24
wer zum teufel guckt sich in einem stringgrid 1000 zeilen an ?

ich kann mir nicht vorstellen, das man dies nichtt eingrenzen kann.

raik
verhältnisse die einem nicht passen,
muss man verändern oder verlassen
  Mit Zitat antworten Zitat
Jacki O

Registriert seit: 19. Okt 2003
73 Beiträge
 
#3

Re: StringGrid mehr als 10000 Zeilen

  Alt 4. Mai 2004, 15:35
Hallo,

Die 10000 Zeilen sollten nur ein Beispiel sein.
Genau gesagt ist die Anzahl dynamisch. Das Prog soll Dateien nach bestimmten Werten durchsuchen und dannach darstellen. Das Ganze läuft ohne DB ab. Es kann also vorkommen, das 'sehr viele' Datensätzte gefunden werden, die dann auch sichtbar gemacht werden müssen. Bis auf das Problem mit der Ladezeit ist das auch alles ok. Wenn eine DB integriert wäre, hatte ich das mit enem DBGrid gemacht und gut, aber wie gesagt, es gibt keine DB.

Gruß Jacki
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#4

Re: StringGrid mehr als 10000 Zeilen

  Alt 4. Mai 2004, 15:42
warum nimmst du nicht ein listview. da kannst du dann mit
updatebegin & updateend 'ich hoffe das ist richtig, kein delphi offen'
das aktualisieren des listview unterdrücken.
verhältnisse die einem nicht passen,
muss man verändern oder verlassen
  Mit Zitat antworten Zitat
Jacki O

Registriert seit: 19. Okt 2003
73 Beiträge
 
#5

Re: StringGrid mehr als 10000 Zeilen

  Alt 4. Mai 2004, 15:54
Es müsste schon bei dem Stringgrid bleiben, da das an eine Funktion als Parameterübergeben wird ,
um es auszudrucken.
  Mit Zitat antworten Zitat
Benutzerbild von Gollum
Gollum

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

Re: StringGrid mehr als 10000 Zeilen

  Alt 4. Mai 2004, 15:54
Hallo,

wie kiar schon geschrieben hat, die Daten in einer ListView anzeigen. Mit dem Ereignis OnData (OwnerData=True) kann die Listview dann on the fly gefüllt werden.
Ich mache das im Prinzip auch so. Dabei spielt dann die Menge der anzuzeigenden Daten keine Rolle mehr.
  Mit Zitat antworten Zitat
Jacki O

Registriert seit: 19. Okt 2003
73 Beiträge
 
#7

Re: StringGrid mehr als 10000 Zeilen

  Alt 4. Mai 2004, 16:03
Danke erstmal, ich werde mir die Listview mal ansehen.

Gruß Jacki
  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 07:02 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