解决CxGrid Filter 后,通过 Dataset 循环时得出的结果与 Grid显示不同步的问题.

时间:2022-07-27 13:41:36
  //  方案1:   强制cxgrid 使用 dataset的 Filter
GridMaster.DataController.Filter.AutoDataSetFilter := True;
/// 通过 FilterRecordCount 来查询结果
Screen.Cursor := crHourGlass;
cxGrid2DBTableView1.DataController.GotoFirst;
for i := to cxgrid2DBTableView1.DataController.FilteredRecordCount - do
begin
if cxGrid2DBTableView1.DataController.GetItemByFieldName('IsChecked').EditValue = True then
begin
cxGrid2DBTableView1.DataController.GetItemByFieldName('IsChecked').EditValue := False;
end
else if cxGrid2DBTableView1.DataController.GetItemByFieldName('IsChecked').EditValue = False then
begin
cxGrid2DBTableView1.DataController.GetItemByFieldName('IsChecked').EditValue := True;
end; cxGrid2DBTableView1.DataController.GotoNext;
end;
Screen.Cursor := crDefault;