StringGrid mit unbegrenzter Zeilenanzahl?
7. Nov 2008, 16:27
Moin, moin,
fuer ein Statistikprogramm, mit dem hochaufgeloeste
Langzeitmessdatenreihen ausgewertet werden sollen, suche ich eine
Gitter-Komponenten mit einer wirklich unbegrenzten Anzahl von Zeilen.
Bisher verwende ich TStringAlignGrid. Die Daten selbst werden in einer
internen Speicherstruktur gehalten und nur der gerade angezeigte
Ausschnitt wird dynamisch in Abhaengigkeit von TopRow und
VisibleRowCount im Gitter angezeigt. Nur das ermoeglicht ueberhaupt
viele Datensaetze anzeigen zu koennen - sonst ist die Zellenanzahl aus
Speicherplatzgruenden sehr schnell arg begrenzt. Um im Gitter
vernuenftig per Tastatur und Scrollbar navigieren zu koennen, werden
die Gitterdimensionen nach dem Laden der Daten mit RowCount und
ColCount auf die benoetigten Werte gesetzt. Dabei ist jetzt jedoch bei
etwa 1 Mio. Zeilen Schluss, d.h. das Gitter stellt dann beim Zuweisen
von Strings an Zellen mit einem Zeilenindex groesser als 1 Mio. nichts
mehr da.
Nun suche ich eine Komponente, die auch mehr Zeilen darstellen kann
bzw. mit deren Hilfe das Navigieren durch mehr als 1 Mio. Zeilen noch
moeglich ist. Ich moechte dabei bewusst kein DBGrid oder aehnliches
einsetzen, da ich auf meine recht komplexe interne Speicherstruktur
zum Halten der Daten angewiesen bin und das Gitter die Daten aus
dieser Struktur lesen soll. Eine zweite Kopie der Daten im Speicher
oder der direkte Zugriff auf die Datenbank, aus der die Daten kommen,
ist ebenfalls nicht moeglich.
Ich wuerde mich freuen, wenn mir jemand vielleicht eine entsprechende
Komponente empfehlen kann. Sie darf auch etwas kosten.
TElTreeStringGrid, TAdvStringGrid und Virtual Treeview, die hier immer
wieder empfohlen werden, habe ich mir angeschaut. Abgesehen davon,
dass bei keiner dieser Komponenten dabei steht, wieviel Zeilen
verarbeitet werden koennen, ist auch der Klicki-Bunti-Funktionsumfang,
den diese Teile bieten, fuer meine Anforderungen viel zu gewaltig. Was
ich suche sollte moeglichst schlank und speichersparenden sein.
Vielen Dank fuer Eure Hinweise!
Joerg Radomski
Jörg
|