比如我选中了一个区域,3行3列,点一下“设为相同值”,就将第2行和第3行中这3列的值设为和第一行一样,对表格批量修改时用到
procedure TForm1.btn5Click(Sender: TObject);
var
fceFieldName:string;
firFieldValue:Variant;
SavePlace: TBookmark;
begin
//cxGridDBTv1是TcxGridTableView
fceFieldName:=cxGridDBTv1.Columns[cxGridDBTv1.Controller.FocusedColumnIndex].DataBinding.FieldName;
//cds1是类似于你的ADOQuery,Table,我也不知道你用的是什么,我这里是用的ClientDateSet做//例子
SavePlace:= cds1.GetBookmark;
cds1.DisableControls;
cds1.First;
firFieldValue:=cds1.FieldByName(fceFieldName).AsVariant;
cds1.GotoBookmark(SavePlace);
cds1.Edit;
cds1.FieldByName(fceFieldName).AsVariant:=firFieldValue;
cds1.Post;
cds1.EnableControls;
end;
这个好处理吧,不过,你说得,不太清楚