GridViewModel.Controller.SelectedRows[i] 是根据选中记录的索引来返回行的,如果你是按字段 AAA排序,那每修改一条记录,排序就会发生变化,因此 GridViewModel.Controller.SelectedRows[i] 返回的就不是你需要的结果了; 因此在修改过程中,锁定界面更新:
var
i:Integer;
begin
cxGrid1DBTableView1.BeginUpdate();
for i := 0 to cxGrid1DBTableView1.Controller.SelectedRowCount-1 do
begin
cxGrid1DBTableView1.Controller.FocusedRow := cxGrid1DBTableView1.Controller.SelectedRows[i];
ClientDataSet1.Edit;
ClientDataSet1.FieldByName('Name').AsString := 'lilihao';
ClientDataSet1.Post;
end;
cxGrid1DBTableView1.EndUpdate;
http://hi.baidu.com/lemtech
var
i:Integer;
begin
cxGrid1DBTableView1.BeginUpdate();
for i := 0 to cxGrid1DBTableView1.Controller.SelectedRowCount-1 do
begin
cxGrid1DBTableView1.Controller.FocusedRow := cxGrid1DBTableView1.Controller.SelectedRows[i];
ClientDataSet1.Edit;
ClientDataSet1.FieldByName('Name').AsString := 'lilihao';
ClientDataSet1.Post;
end;
cxGrid1DBTableView1.EndUpdate;
http://hi.baidu.com/lemtech
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货