![]() |
DBGrid - Datensatzzeigerposition
Liste der Anhänge anzeigen (Anzahl: 1)
Moin moin,
ich habe hier mehrere DBgrids auf einem Formular, die vom Layout her (schriftgrößen, Zeilenhöhen, Top...) gleich sind. Nun möchte ich im ersten Grid links einen Datensatz auswählen, und die anderen Grids die rechts zu sehen sind mit dem Datensatzzeiger synchronisieren. Das klappt auch so weit ganz gut, ABER dummerweise ist, in den Grids die rechts sind, in der Regel der datensatz in der vertikalen Mitte des Grids, wohingegen der Zeiger im linken Grid da ist, wo ich ihn angeklickt habe. Das ist optisch nicht sehr schön und das möchte ich irgendwie behen, genauer gesagt möchte ich gern, dass alle auf der gleichen Höhe erscheinen. Ich füge ein Bild zur besseren Vertändigung meines Problemes bei und vielleicht kann mir jemand einen schlauen Tipp geben. Moin |
Re: DBGrid - Datensatzzeigerposition
Hy,
ich hatte immer das Problem, dass nach dem refreshen der Query die selektierte Zeile im Grid nicht mehr an der selben Position war. Die Lösung dafür sollte eigentlich auch auf dein Problem übertragbar sein
Delphi-Quellcode:
var
rowDelta: integer; row: integer; recNo: integer; begin rowDelta := -1 + MyDBGrid.Row; row := MyDBGrid.DataSource.DataSet.RecNo; MySFDBGrid.DataSource.DataSet.DisableControls; try MyZQuery.Refresh; with MyDBGrid.DataSource.DataSet do begin RecNo := row; MoveBy(-rowDelta) ; MoveBy(rowDelta) ; end; finally MyDBGrid.DataSource.DataSet.EnableControls; end; end; |
Re: DBGrid - Datensatzzeigerposition
Wunderbar,
ich danke Dir für diesen Tipp. Moin |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz