Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi DBGrid Problem / OnCellClick (https://www.delphipraxis.net/110539-dbgrid-problem-oncellclick.html)

Cosamia 19. Mär 2008 16:28

Datenbank: Access • Zugriff über: ADO

DBGrid Problem / OnCellClick
 
Hallo zusammen,

ich nutze ein JVDbGrid, welches mir ein Booleaches Feld als Checkbox anzeigt.
Damit der User nicht erst ein Mausklick braucht um den Focus auf den richtigen Datensatz zu setzen und dann einen zweiten Mausklick tätigen muss, um den Wert zu ändern, habe ich folgendes im OnCellClick-event verbaut:

Delphi-Quellcode:
if Column.FieldName='Active'
  then
   PostKeyEx32(VK_RETURN, [], False);
   end;
Das funktioniert auch soweit. Jetzt kommt das eigentliche Problem: :gruebel:

Damit es schöner aussieht, habe ich dgRowSelect auf True gesetzt, und habe nun kein OnCellClick-Event mehr.

Hat jemand eine Idee welches Event ich anstatt OnCellClick nutzen könnte, welchem ich aber die Column mitgeben kann?

Danke

Cosamia 19. Mär 2008 16:39

Re: DBGrid Problem / OnCellClick
 
Zudem fällt mir gerade auf, dass wenn ich RowSelect auf true setze, das editing auf false gesetzt wird.

Was auch nicht wirklich positiv für mich ist.

Jemdand eine andere Idee, wie ich es schaffe, dass die komplette Zeile des Grid´s farblich vom Rest abgehoben ist?

Peinhard 19. Mär 2008 16:53

Re: DBGrid Problem / OnCellClick
 
Leider nein, das 'Konzept' von dgRowSelect ist ja gerade, nur noch die Zeile und nicht mehr einzelne Spalten anzusprechen. Es ist eigentlich nur im ReadOnly-Modus sinnvoll.

Andere Frage - warum sprichst du das Feld in dem Event nicht einfach direkt an, etwa:

Delphi-Quellcode:
Grid.DataSource.Dataset.Edit;
Column.Field.AsBoolean := not Column.Field.AsBoolean;

Peinhard 19. Mär 2008 16:58

Re: DBGrid Problem / OnCellClick
 
Unsere Beiträge haben sich überschnitten, weil ich hier rumgetüngelt habe. Für eine farbliche Hervorhebung müsstest du selber zeichnend tätig werden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:34 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz