![]() |
Datenbank: sqlite • Version: 3.50.2.0 • Zugriff über: zeosdbo
Delphi 12 - DBGrid RowSelect - Marker erhalten
In einem TPageControl gibt es
- das TTabSheet "tsSammel", das ein DBGrid anzeigt - das TTabSheet "tsEinzel", das u.a. die TDBEdits anzeigt, um den aktuellen Datensatz zu bearbeiten Beim ersten Anzeigen des Fensters wird im TTabSheet "tsSammel" im DBGrid der erste Datensatz markiert (dgRowSelect ist im Grid aktiviert). Mit einem Doppeklick (OnDblClick) auf einen Datensatz im DBGrid wird in das TabSheet "tsEinzel" gewechselt. (Dort ist die Ansicht der Inhalte der TDBEdits oder Änderungen am aktuellen Datensatz möglich.) Schießt der Anwender das TabSheet "tsEinzel", gelangt er wieder in das TabSheet "tsSammel" zurück. Hier wird wieder die "Sammelanzeige" der Datensätze angezeigt. Das Problem: Die Markierung (RowMarker) des aktuellen Datensatzes (dbgRowSelect im DBGrid) ist nicht aktiv - es wird keine aktuelle Zeile im Grid angezeigt. Es ist kein Datensatz markiert. Wenn der Anwender aus der Einzelanzeige in die Sammelanzeige zurückkehrt, wäre es sehr hilfreich, wenn er den aktuell bearbeiteten Datensatz im Grid als markiert erkennen würde. Vielen Dank für jede Hilfe! |
AW: Delphi 12 - DBGrid RowSelect - Marker erhalten
Im Objektinspektor beim DBGrid das Ereignis OnDrawColumnCell zuweisen:
Delphi-Quellcode:
procedure TForm1.DBGrid1DrawColumnCell(
Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); begin // Aktiven Datensatz prüfen if DBGrid1.DataSource.DataSet.RecNo = DBGrid1.Row then DBGrid1Canvas.Brush.Color := clSkyBlue // Deine Wunschfarbe else DBGrid1.Canvas.Brush.Color := clWhite; // Standard Zeichnung aufrufen DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State); end; |
AW: Delphi 12 - DBGrid RowSelect - Marker erhalten
In den Options für TDBGrid gibt es dgAlwaysShowSelection. Das sollte normalerweise ausreichen.
|
AW: Delphi 12 - DBGrid RowSelect - Marker erhalten
Genau, ist wirklich keiner Selektiert/Fokusiert, oder ist das nur nicht sichtbar?
Links im Grid siehst du eine Index-Spalte, wo es einen Pfeil gibt, beim fokusierten/aktiven Datensatz. Standard leider nur sichtbar, wenn sich der Fokus im Grid befindet. Lösung siehe Jasocul. (selbstmalen ala Delphi.Narium, ist da nicht unbedingt nötig) |
AW: Delphi 12 - DBGrid RowSelect - Marker erhalten
Ich bin aber auch wirklich dämlich:
dgAlwaysShowSelection macht genau, was es soll. Vielen, vielen Dank! Ralph |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:23 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