delphi cxgrid保存正在编辑的行

procedure SaveGridViewEditing(AView: TcxGridDBTableView); overload;
var
  vDst: TDataSet;
begin // 应用未保存编辑框的修改
  if (AView.DataController.EditState <> []) then
    AView.DataController.Post;
  vDst := AView.DataController.DataSet;
  if Assigned(vDst) then // 修改到数据库中
  begin
    try
      if vDst.State in [dsInsert, dsEdit] then
        vDst.Post;
    except
      on E: Exception do
        DisposeExcept('保存表格数据失败!', E);
    end;
  end
  else
    AlertMessage('保存时未找到表格对应数据集!', 2);
end;

procedure SaveGridViewEditing(AView: TcxGridDBBandedTableView); overload;
var
  vDst: TDataSet;
begin // 应用未保存编辑框的修改
  if (AView.DataController.EditState <> []) then
    AView.DataController.Post;
  vDst := AView.DataController.DataSet;
  if Assigned(vDst) then // 修改到数据库中
  begin
    try
      if vDst.State in [dsInsert, dsEdit] then
        vDst.Post;
    except
      on E: Exception do
        DisposeExcept('保存表格数据失败!', E);
    end;
  end
  else
    AlertMessage('保存时未找到表格对应数据集!', 2);
end;

 

posted @ 2020-03-20 10:10  lybingyu  阅读(492)  评论(1编辑  收藏  举报