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 aktiven Datensatz immer in der Mitte eines DBGrids anzeigen (https://www.delphipraxis.net/132223-aktiven-datensatz-immer-der-mitte-eines-dbgrids-anzeigen.html)

onkelmehli 8. Apr 2009 09:50


aktiven Datensatz immer in der Mitte eines DBGrids anzeigen
 
Hallo,

wie kann man erreichen, dass die aktive Zeile im DBGrid (also die markierte), immer in der Mitte des DBGrids angezeigt wird? Das heißt, wenn man per Tastatur nach unten/oben scrollt, soll der aktive Datensatz auch immer in der Mitte markiert/angezeigt werden.
Mein erster Gedanke war, das über ein Simulieren eines Klicks auf die Scrollbar zu steuern, nur weiß ich nicht, wie man das hin bekommt. Ein komplettes eigenes Zeichnen des Grids ist denk ich sehr umständlich.
Hat vielleicht jemand eine bessere oder sinnvollere Idee? Oder gibt es vielleicht sogar eine Komponente, die so etwas kann?


Gruß

Matthias

onkelmehli 14. Apr 2009 09:57

Re: aktiven Datensatz immer in der Mitte eines DBGrids anzei
 
*push*

mkinzler 14. Apr 2009 10:59

Re: aktiven Datensatz immer in der Mitte eines DBGrids anzei
 
Wird etwas komplizierter. Du müsstest dann ja im onChange der Datenmenge das Grid entsprechend scrollen

Frankfurtoder 14. Apr 2009 11:50

Re: aktiven Datensatz immer in der Mitte eines DBGrids anzei
 
Ich habe dazu eine Frage. Was soll denn passieren wenn du beim ersten Datensatz angelangt bist? Wenn dieser auch mittig dargestellt werden soll, würde die obere Hälfte des Grids komplett leer bleiben. Ich denke das wird dann wirklich kompliziert.

onkelmehli 14. Apr 2009 11:58

Re: aktiven Datensatz immer in der Mitte eines DBGrids anzei
 
Zitat:

Zitat von Frankfurtoder
Ich habe dazu eine Frage. Was soll denn passieren wenn du beim ersten Datensatz angelangt bist? Wenn dieser auch mittig dargestellt werden soll, würde die obere Hälfte des Grids komplett leer bleiben. Ich denke das wird dann wirklich kompliziert.

Die Frage ist natürlich berechtigt. Ich dachte mir, wenn man am Anfang bzw. am Ende angelangt ist, das dann wie gewohnt bis zum Anfang/Ende gescrollt wird. Das ganze wird dadurch natürlich noch ein wenig komplizierter....


Zitat:

Zitat von mkinzler
Wird etwas komplizierter. Du müsstest dann ja im onChange der Datenmenge das Grid entsprechend scrollen

Genau, aber wie bekommt man so ein "simuliertes" Scrollen hin? Oder ist es eher sinnvoll, eine eigene Grid-Komponente zu erstellen?


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