关于cxGrid选中行操作关联数据集的一种方法
注:数据集过滤和表格控件过滤不会影响数据集的记录定位。
for I := 0 to cxGridDBTableView.DataController.Controller.SelectedRecordCount - 1 do
begin //iterate
//利用CDS的RecNo属性来定位记录(recNO = recordIndex+1)
cds.RecNo := cxGridDBTableView.DataController.Controller.SelectedRecords[I].RecordIndex+1;
// 显示修改前的结果
ShowMessage('修改前的结果:'+cxGridDBTableView.DataController.Controller.SelectedRecords[I].DisplayTexts[1]);
//更新关联的数据集
cds.Edit;
cds.Fields[1].AsString := 'NewValue';
cds.Post;
//显示修改后的结果
ShowMessage('修改后的结果:'+cxGridDBTableView.DataController.Controller.SelectedRecords[I].DisplayTexts[1]);
// ShowMessage(VarToStr(cxGridDBTableView.DataController.Controller.SelectedRecords[I].Values[1]));
end;