DBGrid reagiert nicht auf Doubleclick

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Antworten
Schabersack
Beiträge: 7
Registriert: Mi 16. Okt 2013, 20:24

DBGrid reagiert nicht auf Doubleclick

Beitrag von Schabersack »

Hallo!

Ich habe an ein DBGrid zur selektion folgendes Ereignis beim Doubleclick hinterlegt:

Code: Alles auswählen

procedure TForm1.DBGrid2DblClick(Sender: TObject);
begin
  DBGrid2.Visible:=False;
  SQLQuery1nach.Value:=SQLQuery2nach.Value;
  SQLQuery1km.Value:=SQLQuery2km.Value;
  DateEdit4.Focused;
end;   


Damit werden die Werte von "nach" und "km" in eine Datenbank übernommen. Das Ganze funktioniert prima, solange man nicht im DBGrid den ersten Eintrag durch Doubleclick anwählen will. Da passiert schlichtweg nichts... nicht einmal das DBGrid verschwindet, was es ja machen sollte.
Hat jemand dafür eine Erklärung - und bitte auf ganz niedrigem Niveau - bin Anfänger!

MfG

Schabersack
Zuletzt geändert von Lori am So 20. Okt 2013, 21:05, insgesamt 1-mal geändert.
Grund: Highlighter

Michl
Beiträge: 2511
Registriert: Di 19. Jun 2012, 12:54

Re: DBGrid reagiert nicht auf Doubleclick

Beitrag von Michl »

Kann ich nicht nachvollziehen, bei mir geht immer OnDBGridDblClick, es sei denn die Zelle hat schon den Focus (dann funktioniert das aber auch mit anderen "focussierten" Zellen nicht).

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection;  

Schabersack
Beiträge: 7
Registriert: Mi 16. Okt 2013, 20:24

Re: DBGrid reagiert nicht auf Doubleclick

Beitrag von Schabersack »

Hallo Michl!

Hmm - habe ich nicht richtig beobachtet.

Es stimmt - es geht dann nicht wenn der Focus auf dieser Zelle liegt.

Und wie kann ich dann ein DblClick event auslösen wenn ich nur einen Datensatz stehen habe auf dem naturgemäß der Focus liegt?

:?:

Nicht vergessen - bin ein rookie

Schabersack
Wer das Haus mit einem Schrim verlässt, der hat auch anrecht auf Regen!

Michl
Beiträge: 2511
Registriert: Di 19. Jun 2012, 12:54

Re: DBGrid reagiert nicht auf Doubleclick

Beitrag von Michl »

Du kannst unter Grid.Options die Eigenschaft dgEditing auf False setzen, dann klappt das immer mit dem Doppelklick, ansonsten wird immer das zweite Klickevent vom Editor "genommen". Hast dann aber das Problem, dass die Tabelle nicht mehr editierbar ist. Weiss nicht, ob dir das hilft?!

Alternativ kannst du ja auch ein Popup mit der Rechten Maustaste verknüpfen, wo du dann den bisherigen Code vom Doppelklick unterbringst. (müsstest dann aber unter Umständen ein "Hack" mit der rechten Maustaste machen, siehe http://www.lazarusforum.de/viewtopic.php?p=63251#p63251)

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection;  

Schabersack
Beiträge: 7
Registriert: Mi 16. Okt 2013, 20:24

Re: DBGrid reagiert nicht auf Doubleclick

Beitrag von Schabersack »

Hallo Michl!

Perfekt!!!!! Schreiben muss ich ja nicht!!!

Funzt - Danke!

Gruß

Schabersack

Antworten