![]() |
Datenbank: MS SQL 2000 • Zugriff über: ADO
DBGrid ID on DblClick
Hallo,
wie bekomme ich bei einem DBGrid heraus, welches Feld onDbClick geklickt wurde?
Delphi-Quellcode:
zeigt mir zwar die ausgewählte erste Spalte, aber ich benötige die ID dieser Spalte.
procedure TForm1.DBGrid1DblClick(Sender: TObject);
begin ShowMessage (DBGrid1.SelectedField.AsString); end; Danke Tim |
Re: DBGrid ID on DblClick
Hallo,
probier mal TDBGrid.MouseCoord() |
Re: DBGrid ID on DblClick
danke, aber krieg ich damit nicht nur die Mauskoordinaten unter dem Cursor?
Das wird dann ja schwierig auf die ID des Eintrages in der Tabelle zu schließen... |
Re: DBGrid ID on DblClick
Nein, die Mauscoordinaten unter dem Cursor bekommst Du mit ScreenToClient()
Darauf basierend kannst Du dann mit MouseCoords() die Zelle unter dem Cursor ermitteln. Ich weiß aber ehrlich gesagt nicht, was Du erreichen möchtest. Da wird es sicherlich auch eine triviale Lösung für geben. Mit dem von Dir genannten
Delphi-Quellcode:
bekommst Du doch den Wert des aktuell selektierten Feldes im aktuell selektierten Datensatz.
ShowMessage (DBGrid1.SelectedField.AsString);
Oder willst Du den Namen des Feldes? Den bekommst Du mit TDBGrid.SelectedField.FieldName Und den Index des Feldes mit TDBGrid.SelectedIndex |
Re: DBGrid ID on DblClick
Ja, die Richtung stimmt schon, aber wie schließe ich jetzt auf die ID, die automatische von der DB vergeben wurde?
Meine Tabelle sieht so aus: Feld1 | ID | Feld2 ------------------ test | 3 | test test | 7 | test test | 9 | test und er soll mir die 9 ausgeben onDblClik auf die 3te Zeile. |
Re: DBGrid ID on DblClick
Ah, ok:
Delphi-Quellcode:
ShowMessage(DBGrid1.DataSource.DataSet.FieldByName('ID').AsString);
|
Re: DBGrid ID on DblClick
Zitat:
Wenn Du in einem DBGrid in ein Feld klickst, wird automatisch im Dataset (TQuery, TTable) der zu dem Feld gehörende Datensatz als aktiver Datensatz markiert. Daher kannst Du per Dataset.FieldByName auf das ID-Feld des Datensatzes zugreifen. Natürlich muss das ID-Feld beim SELECT der Query mit dabei sein. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:53 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