delphi中,cxgrid怎样将选中的单元格都赋为选中的第一行的值,并且数据集也同步更新
delphi中,cxgrid怎样将选中的单元格都赋为选中的第一行的值,并且数据集也同步更新,求代码...
delphi中,cxgrid怎样将选中的单元格都赋为选中的第一行的值,并且数据集也同步更新,求代码
展开
2个回答
展开全部
比如我选中了一个区域,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;
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;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询