In de TDataSet-afgeleide die gekoppeld is aan de data source van je grid, kan je een OnBeforeEdit event toevoegen.
Daarin zet je 'Abort':
Delphi Code:
procedure TForm1.ClientDataSet1BeforeEdit(DataSet: TDataSet);
begin
Abort;
end;
Abort gooit een EAbort exception. Deze exception zorgt er, binnen dit event, voor dat het in-editmode-zetten van de dataset wordt onderbroken. Het is een 'stille' exception. Dat wil zeggen dat Delphi er standaard geen foutmelding voor toont.
Mocht je een eigen try-except blok hebben, dan kan het zijn dat de melding wel wordt getoond.
Deze manier is erg eenvoudig, maar maakt het wel helemaal onmogelijk om rijen van deze dataset te wijzigen. Ook via code expliciet aanroepen van DataSet.Edit zal resulteren in de event en dus de Abort.
Bookmarks