![]() |
Dbgrid + DoubleClick bzw. RowClick
Hi all,
in meinem DBGrid kann man per Doppelklick einen Datensatz auswählen, der daraufhin zum bearbeiten in einer neuen Maske angezeigt wird. Soweit so gut, nun mein Problem: Wenn im DBGrid ein Datensatz makiert ist, und man macht einen Doppelklick irgendwo ins Grid rein, wird die Maske ebenfalls angezeigt. Auch wenn man auf einen Title zu schnell 2x hintereinader klickt, wird die Bearbeiten-Maske angezeigt. Ich würde es gern so haben, das nur, wenn man auf eine Row nen Doppelklick macht, die Maske angezeigt wird - leider hab ich keine Idee wie das zu lösen wäre. Danke für eure Hilfe, gruß ben |
Re: Dbgrid + DoubleClick bzw. RowClick
Hallo Ben,
probiere es mal so:
Delphi-Quellcode:
Freundliche Grüße
procedure TDemoForm.StringGridDblClick(Sender: TObject);
var iCol, iRow: Integer; pt: TPoint; begin with Sender as TStringGrid do begin pt := ScreenToClient(Mouse.CursorPos); MouseToCell(pt.X, pt.Y, iCol, iRow); if (iCol in [FixedCols .. Pred(ColCount)]) and (iRow in [FixedRows .. Pred(RowCount)]) then ShowMessage('bulls eye') else ShowMessage('off shore'); end; end; |
Re: Dbgrid + DoubleClick bzw. RowClick
Hi Marabu,
thx a lot für die Antwort :cyclops: Ich habs ein bischen umgebaut, denke mal das es so passt.
Delphi-Quellcode:
Mich würde jetzt noch interessieren, warum es so nicht klappt:
procedure Tfrm_sachbearbeiter.dbgrid_uebersichtDblClick(Sender: TObject);
var iCol, iRow: Integer; pt: TPoint; begin with Sender as TJvDBGrid do begin pt := ScreenToClient(Mouse.CursorPos); MouseToCell(pt.X, pt.Y, iCol, iRow); showmessage(inttostr(iCol)+' '+inttostr(iRow)); if iRow > 0 then DataModule1.ActionList1.Actions[5].Execute; end; end;
Delphi-Quellcode:
Danke nochmal, jetzt kann ich bald beruhigt ins Wochenende gehn ;)
pt := ScreenToClient(Mouse.CursorPos);
TJVDbGrid(Sender).MouseToCell(pt.X, pt.Y, iCol, iRow); showmessage(inttostr(iCol)+' '+inttostr(iRow)); |
Re: Dbgrid + DoubleClick bzw. RowClick
Vielleicht rufst du in dem fraglichen Code die Methode ScreenToClient() von der falschen Komponente (Form) auf?
Dabei ergeben sich natürlich auch falsche Koordinatenwerte für MouseToCell()... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:52 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 by Thomas Breitkreuz