TEST IS WORKS FOR YOU!...
prueba para ver si te funciona https :// i.ibb.co / Kp5dXDGT / bds-Zz1g8-Sz-Gzh . gif
Código Delphi
[-]
unit Unit1;
interface
uses
Winapi.Windows,
Winapi.Messages,
System.SysUtils,
System.Variants,
System.Classes,
Vcl.Graphics,
Vcl.Controls,
Vcl.Forms,
Vcl.Dialogs,
FireDAC.Stan.Intf,
FireDAC.Stan.Option,
FireDAC.Stan.Param,
FireDAC.Stan.Error,
FireDAC.DatS,
FireDAC.Phys.Intf,
FireDAC.DApt.Intf,
Data.DB,
Vcl.StdCtrls,
Vcl.DBCtrls,
Vcl.Grids,
Vcl.DBGrids,
FireDAC.Comp.DataSet,
FireDAC.Comp.Client,
Vcl.ExtCtrls,
Vcl.Buttons,
Vcl.Menus;
type
TForm1 = class( TForm )
FDMemTable1: TFDMemTable;
DBGrid1: TDBGrid;
FDMemTable1MyDBCheckField: TBooleanField;
DBCheckBox1: TDBCheckBox;
DataSource1: TDataSource;
DBNavigator1: TDBNavigator;
PopupMenu1: TPopupMenu;
SI1: TMenuItem;
No1: TMenuItem;
procedure DBCheckBox1Click( Sender: TObject );
procedure SI1Click( Sender: TObject );
procedure No1Click( Sender: TObject );
private
public
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
var
LChecked: boolean;
procedure TForm1.DBCheckBox1Click( Sender: TObject );
begin
LChecked := DBCheckBox1.Checked;
PopupMenu1.Popup( Mouse.CursorPos.x, Mouse.CursorPos.Y );
end;
procedure TForm1.No1Click( Sender: TObject );
begin
DBCheckBox1.Checked := LChecked;
DBGrid1.DataSource.DataSet.Cancel;
end;
procedure TForm1.SI1Click( Sender: TObject );
begin
if ( DBGrid1.DataSource.DataSet.State in [ dsEdit, dsInsert ] ) then
DBGrid1.DataSource.DataSet.Post;
end;
end.