Title: Undo in DBGrid
Question: Undo
Answer:
procedure UnDo(DBGrid:TDBGrid);
begin
if Dbgrid.DataSource.DataSet.ClassName='TTable' then
begin
if (Dbgrid.DataSource.DataSet as TTable).database.InTransaction then
begin
try
(Dbgrid.DataSource.DataSet as TTable).Database.Rollback
except
showmessage('??');
end ;
(Dbgrid.DataSource.DataSet as TTable).database.StartTransaction;
end;
end
else if Dbgrid.DataSource.DataSet.ClassName='TQuery' then
begin
if (Dbgrid.DataSource.DataSet as TQuery).database.InTransaction then
begin
try
(Dbgrid.DataSource.DataSet as TQuery).Database.Rollback
except
showmessage('??');
end ;
(Dbgrid.DataSource.DataSet as TQuery).database.StartTransaction;
end;
end;
end;