![]() |
DBGrid Darstellung ändern?
Hallo zusammen,
ich habe ein DBgrid welches lediglich zur Anzeige der DS dient. Die Änderung des entsprechenden DS geschieht ausserhalb des Grid in Editfeldern. Mit : Query.locate und Query.RecNo gehe ich zum jeweils nächsten Satz. funktioniert auch alles, bis auf die Anzeige im Grid. Die rutscht nach oben weg, wenn ich beim ersten Satz anfange zu ändern, und zwar solange bis nach unten alles ds im Grid angezeigt werden. Ist das Grid irgendwie dahingehend zu beienflussen, dass die DS erst dann "nach oben rutschen", wenn der letzte unten sichtbare DS verlassen wird? Optimal wäre noch eine Markierung des aktuellen Satzes, ohne dass das Grid den Fokus haben muss. Danke Gruss KHH |
AW: DBGrid Darstellung ändern?
Hallo,
ich denke mit Query1.Next wäre der NÄCHSTE Satz leichter zu ereichen. Das Problem mit der Anzeige habe ich nicht ganz verstanden. |
AW: DBGrid Darstellung ändern?
Zitat:
Nochmal zur Anzeige: ich postioniere ZB per Mausklick auf den ersten Satz im Grid und übernehme dadurch die zu ändernden Feldinhalte in ein Editfeld. im onkeydown dieses Feldes speichere ich bei VK_RETURN den geänderten Wert und gehe nit "NEXT" zum nächsten Satz. Dadurch rutscht der gerade geänderte Satz nach oben aus dem Grid und die Änderung ist nicht mehr zu sehen :-( Um meine Änderung zu sehen muss ich also nach oben scrollen. Postitioniere ich aber auf irgendeinem Satz in der Mitte des Grid, rutscht der gesamte Inhalt erst bei Erreichen des unteren Rand nach oben, so dass der gerade geänderte Satz weiterhin zu sehen ist. Ich möchte also errecihen, dass ich auch beim Ändern des ersten Satzen diesen noch im Grid sehen kann, bis dfas untere Ende des Grid erreicht ist. |
AW: DBGrid Darstellung ändern?
wieso liest du eigentlich den nächsten DS, der steht doch schon im Dbgrid.
Einfach im Dbgrid den zu ändernden DS anklicken, ändern in den Edit-Feldern und dann speichern. Ich arbeite hier meistens mit einem Navigator... |
AW: DBGrid Darstellung ändern?
Zitat:
Die dahinter liegenden und nebenbei ablaufenden Funktionen sind zu komplex um mit DB-Verküpfungen und Navigator zurecht zu kommen. (zumindest hab ichs nicht hinbekommen ;-)) Es liegen recht komplexe Preisfindungsroutinen dahinter, die auf diverse zusätzliche DB-Tabellen und Einstellungen zugreifen) Das einzige Datacontrol ist das DBGrid |
AW: DBGrid Darstellung ändern?
eventuell kannst Du dein Grid vom TCustomGrid ableiten und dann auf die Eigenschaft TopRow zugreifen
Mit SettopRow kannst Du dann die Oberste Zeile beeinflussen.
Code:
Der Code ist ungetestet
Type
MyTDBGrid = class(TCustomGrid) public property TopRow; property VisibleRowCount; procedure SetTopRow(Value: Longint); End; procedure MyTDBGrid.SetTopRow(Value: Longint) ; begin inherited; end; procedure TForm1.ereignisdeinerwahl(Sender: TObject); var TopRowNo : Integer; VisibleRows : Integer; begin TopRowNo := MyTDBGrid(yourTDBGrid1).TopRow; VisibleRows := MyTDBGrid(yourTDBGrid1).VisibleRowCount; end; Nur so als Denkanstoß |
AW: DBGrid Darstellung ändern?
Zitat:
danke dir, werd ich ausprobieren |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:46 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-2025 by Thomas Breitkreuz