![]() |
Datenbank: Access • Zugriff über: BDE
DBGrid Zeile setzen
Huhu. Ich wollte mal fragen wie ich eine bestimmte Zeile im DBGrid markerien kann und dann den entsprechenden DBGrid.CellClick() ausführen kann?
Ich habe schon mehrere Sachen versucht, ohne Erfolg:
Delphi-Quellcode:
Zum einen möchte ich [bei einem neuen Datensatz] die letzte / neue Zeile markieren und deren CellClick ausführen, zum anderen den Datensatz den ich bearbeite.
Form1.DBGrid1.DataSource.DataSet.Last;
Form1.DBGrid1.DataSource.DataSet.MoveBy(Form1.DBGrid1.DataSource.DataSet.RecNo); Form1.DBGrid1CellClick(Form1.DBGrid1.Columns[Form1.DBGrid1.DataSource.DataSet.RecNo]); Form1.DBGrid1.DataSource.DataSet.UpdateCursorPos; AFAIK funktioniert das mit dem "bestimmten" Datensatz setzen über DataSet.Locate Hat jemand ne Idee? |
Re: DBGrid Zeile setzen
Die markierte Zeile im Grid ist der aktuelle DS im DataSet.
|
Re: DBGrid Zeile setzen
Joa das weiss ich. Aber wenn es so ist, wieso ist liegt der Cursor nicht auf dieser Zeile?
Delphi-Quellcode:
Damit setze ich doch den DS auf die letzte Zeile -> müsste die letzte Zeile im DBGrid markiert werden, oder nicht?
Form1.DBGrid1.DataSource.DataSet.Last;
Form1.DBGrid1.DataSource.DataSet.MoveBy(Form1.DBGrid1.DataSource.DataSet.RecNo); Und viel mehr wie rufe ich den "passenden" DBGrid1.CellClick(); auf ?! oô Edit: Die Sache ist auch RecNo gibt mir immer wieder nur "-1" aus. |
Re: DBGrid Zeile setzen
So sollte es funktionieren:
Delphi-Quellcode:
und wenn dann RecordCount nicht RecNo.
DBGrid1.DataSource.DataSet.Last;
DBGrid1Cellclick(nil); Warum RecNo = -1 ist steht auch in der Hilfe. |
Re: DBGrid Zeile setzen
Tut es leider nicht.
Habe es auch schon mit RecordCount getestet funktionierte auch nicht. Naja nun wird zwar der "letzte" Wert aus dem GRID selectiert, aber der letzte Wert aus dem Grid entspricht nicht dem letzten Eintrag. [Grid ist durcheinander] |
Re: DBGrid Zeile setzen
Zitat:
|
Re: DBGrid Zeile setzen
Achso. Dann vergiss das mit RecordCount, aber dann spricht doch nichts gegen Locate.
Delphi-Quellcode:
Anstelle von Id müsstest du deine Kritieren definieren die den letzten Datensatz halt ausmachen.
DBGrid1.DataSource.DataSet.Locate('ID', ID, []);
|
Re: DBGrid Zeile setzen
Danke, mit Locate funktioniert es wunderbar. :)
|
AW: DBGrid Zeile setzen
Ich mache doch einen Thead auf, weil die Datenbank eine andere ist...
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:55 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