Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi DBGrid: Datensatz markieren -> Button aktivieren??? (https://www.delphipraxis.net/52248-dbgrid-datensatz-markieren-button-aktivieren.html)

romber 25. Aug 2005 23:44

Datenbank: MSSQL Server • Version: 2000 • Zugriff über: ADO

DBGrid: Datensatz markieren -> Button aktivieren???
 
Hallo!

Ich habe einen DBGrid (RowSelect := true) über ADOTable mit der Datenbank auf dem MSSQL Server verbunden. Jetzt habe ich ein Paar Steuerungsschaltflächen erstellt, Drucken, Löschen, Bearbeiten und so in der Art. Möchte so machen, dass diese Schaltflächen nur aktiviert (enabled) werden, wenn man einen Datensatz (praktisch die Zeile) im DBGrid markiert. Doch ich finde weder OnItemSelect-Procedure noch was anderes in der Art. Habe auch beim OnClick lange rum experimentiert, vergeblich. Weiss jemand, wie ich das mache?

jensw_2000 26. Aug 2005 01:19

Re: DBGrid: Datensatz markieren -> Button aktivieren???
 
Eventuell hilft dir "TGridDrawState" und "gdSelected" bzw "gdFocused" weiter.

Sharky 26. Aug 2005 06:44

Re: DBGrid: Datensatz markieren -> Button aktivieren???
 
Hai romber,

wenn im DBGrid Datensätze vorhanden sind ist doch immer eine Zeile selektiert. Sprich einer der Datensätze deiner ADOTable ist der aktuelle Datensatz. Warum möchtest Du deinen Buttons denn Disablen?

jensw_2000 26. Aug 2005 07:36

Re: DBGrid: Datensatz markieren -> Button aktivieren???
 
Zitat:

wenn im DBGrid Datensätze vorhanden sind ist doch immer eine Zeile selektiert. Sprich einer der Datensätze deiner ADOTable ist der aktuelle Datensatz. Warum möchtest Du deinen Buttons denn Disablen?
Hai ,

ich habe es so verstanden, das die Buttons deaktiv sein sollen, wenn das Grid nicht den Focus hat.
Aber du jast mich auf eine Idee gebracht.
Kann es sein das die Schaltflächen deaktiv sein sollen wenn keine Datensätze im Grid anzeigt werden (Dataset nicht aktiv, Tabelle hei keine Datensätze ...) ?

Sowas kann mal seht gut im AfterOpen / AfterClose des Datasets machen.

Delphi-Quellcode:
With Dataset do
begin
  if Active And (RecordCount>0) then Button1.enabled:=true
    else Button1.enabled:=false;
end;

Sharky 26. Aug 2005 07:41

Re: DBGrid: Datensatz markieren -> Button aktivieren???
 
Zitat:

Zitat von jensw_2000
...das die Buttons deaktiv sein sollen, wenn das Grid nicht den Focus hat.

Genau das geht ja nicht. Wenn man die Buttons z.B. im OnExit des Grid deaktiviert könnte man sie nie benutzen da bevor das OnClick der Buttons ausgelöst wird das OnExit des Grids kommt und damit die Buttons bei einem "Clickversuch" deaktiert werden.

jensw_2000 26. Aug 2005 08:27

Re: DBGrid: Datensatz markieren -> Button aktivieren???
 
Stimmt. :wall:

Es bleibt dann wohl nur diese Variante.
Zitat:

Schaltflächen deaktiv wenn keine Datensätze im Grid anzeigt werden (Dataset nicht aktiv, Tabelle hat keine Datensätze, Filter etc. ...)

:hi:

romber 26. Aug 2005 18:23

Re: DBGrid: Datensatz markieren -> Button aktivieren???
 
Danke!


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:29 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