Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: DBGrid und automatisches Einfügen verhindern

  Alt 23. Mai 2006, 17:39
Hallo Tom,

du benötigst einen Schalter, den du umlegst, wenn du bewusst einen Datensatz einfügen willst. Ich verwende in meinem Beispiel die property Tag des DataSets, aber du kannst auch einfach eine Zustandsvariable AutoInsert in deine Form aufnehmen.

Delphi-Quellcode:
procedure TDataForm.DBNavigatorClick(Sender: TObject;
  Button: TNavigateBtn);
begin
  with Sender as TDBNavigator do
    DataSource.DataSet.Tag := Ord(Button = nbInsert);
end;

procedure TDataForm.DataSetAfterCancel(DataSet: TDataSet);
begin
  DataSet.Tag := 0;
end;

procedure TDataForm.DataSetAfterPost(DataSet: TDataSet);
begin
  DataSet.Tag := 0;
end;

procedure TDataForm.DataSetBeforeInsert(DataSet: TDataSet);
begin
  if DataSet.Tag = 0 then
    Abort;
end;
Grüße vom marabu
  Mit Zitat antworten Zitat