Einzelnen Beitrag anzeigen

Bebe

Registriert seit: 3. Apr 2005
Ort: Berlin
104 Beiträge
 
Delphi 10.1 Berlin Professional
 
#14

AW: TcxGrid - ERR: hat kein übergeordnetes Fenster

  Alt 21. Mai 2013, 17:04
Hallo,

bei OnDblClick reagiert das gesamte cxGrid, obwohl du nicht auf einem Feld geklickt hast. Du möchtest aber doch einen Datensatz anklicken, wo sich ein Detailformular zum Bearbeiten öffnet.

Ich würde dir raten OnCellDblClick zu verwenden. Das reagiert nur wenn du auf einen Datensatz klickst. Außerdem würde ich das cxGrid grundsätzlich sperren, d. h. bei OptionData des DBTabelviews die Eigenschaften Deleting, Editing und Inserting auf False setzen (Appending ist standardmäßig False). Vorausgesetzt du willst im Grid sowieso keine Daten bearbeiten.

Das Detailformular würde ich im Event OnCellDblClick erzeugen und mit Showmodal anzeigen (danach natürlich Free(n)). Dann kann man nur noch das zuletzt geöffnete Formular bearbeiten und das Grid nicht anklicken, somit auch keinen Datensatz wechseln.

So z. B.
Delphi-Quellcode:
   frmDetail := TfrmDetail.Create(self);
    try
       case frmDetail.ShowModal of
        mrOk : begin
          .... MachWas;
        end;
        mrCancel : begin
          .... MachNüscht;
        end;
       end;
    finally
       frmDetail.Free;
    end;
Ich hoffe ich konnte ein wenig helfen.

Gruß
Matthias

<edit> Fehler beseitigt.

Geändert von Bebe (21. Mai 2013 um 17:09 Uhr) Grund: Ein Wort vergessen :-)
  Mit Zitat antworten Zitat