Подключим всплывающее меню. Выглядеть это может так
![](http://digital-flame.ru/wp-content/uploads/2019/06/36-1024x507.jpg)
Само подключение всплывающего меню происходит в коде, в событии OnCellContextClick
procedure TMainForm.UniDBGrid1CellContextClick(Column: TUniDBGridColumn; X, Y: Integer);
begin
if ClientDataSet.State in dsEditModes then
UniPopupMenu2.Popup(X, Y, UniDBGrid1)
else
UniPopupMenu1.Popup(X, Y, UniDBGrid1);
end;
Само Popup меню один в один с традиционным дельфийским аналогом. Нам просто нужно разместить его на форме и настроить в дизайнере.
![](http://digital-flame.ru/wp-content/uploads/2019/06/37-1024x763.jpg)
Ну и обработка некоторых событий наших меню
TMainForm.Cancel1Click(Sender: TObject);
begin
if ClientDataSet.State in dsEditModes then
ClientDataSet.Cancel;
end;
procedure TMainForm.DeleteRowClick(Sender: TObject);
begin
ClientDataSet.Delete;
end;
procedure TMainForm.EditClick(Sender: TObject);
begin
ClientDataSet.Edit;
end;
procedure TMainForm.InsertRowClick(Sender: TObject);
begin
ClientDataSet.Insert;
end;
procedure TMainForm.PostClick(Sender: TObject);
begin
if ClientDataSet.State in dsEditModes then
ClientDataSet.Post;
end;