Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi DBGrid: Datensatz der selektierten Zeile auswählen (https://www.delphipraxis.net/74933-dbgrid-datensatz-der-selektierten-zeile-auswaehlen.html)

Bufo 11. Aug 2006 03:51

Datenbank: Paradox • Version: 7 • Zugriff über: BDE

DBGrid: Datensatz der selektierten Zeile auswählen
 
Hallo,

wenn ich auf eine Zeile eines DBGrid klicke, wird in der Datensatzzeiger in der verbundenen Datenquelle auf den jeweiligen Datensatz gesetzt. Scrolle ich im DBGrid, wird dort lediglich die jeweils nächste Zeile markiert, der aktive Datensatz ändert sich nicht.

Wie schaffe ich es, den Datensatzzeiger synchron zur markierten Zeile zu setzen, ohne diese anzuklicken?

Danke vorab!

omata 11. Aug 2006 15:51

Re: DBGrid: Datensatz der selektierten Zeile auswählen
 
Hallo Bufo,

packe auf deine Form eine ApplicationEvents-Komponente (aus Zusätzlich) und als OnMessage-Methode nimm folgendes...

Delphi-Quellcode:
procedure TForm.ApplicationEventsMessage(var Msg: tagMSG; var Handled: Boolean);
var WinControl:TWinControl;
    DBGrid:TDBGrid;
    DataSource:TDataSource;
    DataSet:TDataSet;
begin
  if Msg.message = WM_MOUSEWHEEL then begin
    WinControl:=FindVCLWindow(msg.pt);
    if WinControl is TDBGrid then begin
      DBGrid:=TDBGrid(WinControl);
      if DBGrid.Focused then begin
        DataSource:=DBGrid.DataSource;
        if assigned(DataSource) then begin
          DataSet:=TDataSet(DBGrid.DataSource);
          if assigned(DataSet) then begin
            if Msg.wParam < 0 then
              DataSet.Next
            else
              DataSet.Prior;
            Handled := True;
          end;
        end;
      end;
    end;
  end;
end;
Gruss
Thorsten

Bufo 12. Aug 2006 08:47

Re: DBGrid: Datensatz der selektierten Zeile auswählen
 
Danke, klappt bestens!


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