Wenn Du nichts anderes findest...
Ich habe mir solche Komponenten (Scrollbox + Panels) für Firebird erstellt, bin aber gerade dabei, auf
XML umzustellen (alles D2009).
Die
FB-Version funktioniert grundsätzlich zuverlässig, war aber noch nicht komplett fertig. Ich lege jetzt gerade mehr Wert darauf, das für
XML fertig zu kriegen. Für mein Projekt (Turniersoftware) sehe ich da mehr Vorteile.
Grundsätzlich bezieht sich eine DataControl-Komponente immer auf einen bestimmten Datensatz (Tabelle, Id, Feldname). Intern werden Select- und Update-Anweisungen abgesetzt, um die Daten abzurufen oder zu schreiben.
Ein TdcPanel kann wieder beliebige andere Komponenten enthalten und weist denen einfach seine eigene oder eine ermittelte Id zu, um diese bestimmte Daten anzeigen zu lassen.
Dazu gibt es auch Mengenkomponenten (TdcListBox, TdcTabControl etc), die eine Menge von Datensätzen anzeigen. TdcListBox erzeugt dazu einfach soviele TdcPanel wie nötig und weist denen dann jeweils eine Datensatz-Id zu.
Die Einträge lassen sich verschieden anordnen, filter, sortieren verschieben, einfügen und löschen.
Bei 1000 Datensätzen sind es eben 1000 Panels - dafür ist das Konzept dann nicht so sinnvoll. Man müsste dann eben mit Filtern arbeiten.
Anbei mal ein kleiner Screenshot.
Auf meiner Homepage kannst Du "Olympic" mal laden und antesten. Alle Komponenten beruhen "noch" auf den DataControls.
Falls Du Interesse hast, schreib mal eine pn. Es ist sicher recht komplex (zumal für D2009) ausgelegt, aber vielleicht besser, als alles neu zu schreiben.
Nachtrag zum Verständnis:
Wenn man komplexe Informationen auf einem Panel anzeigen will, muss man eine Komponente ableiten, die die entsprechenden Daten zusammensucht und darstellt. Das kann durch Nutzungt von Unterkomponenten oder durch Zeichnen auf dem Canvas erfolgen.
Um EIN Feld darzustellen und zu bearbeiten, kann man die Sandard-Komponenten wie TdcEdit, TdcPanel etc verwenden.
In Verbindung mit einer TdcListBox sind auch dynamische Größenanpassungen möglich. Die Items (TdcPanels) müssen dazu der TdcListBox in der sie enthalten sind auf Anfrage ihren Platzbedarf mitteilen. Im "Olympic" sieht man die Größenanpassung z.B. bei der Vereinsdefinition und den Melee-Runden-Spielen.