cxgrid对经过筛选过的数据的选择(反选)

// 下面这个主要是对查询出来的数据, 经过筛选后得到的数据中进行反选操作
,然后对选择的数据进行修改(全选或选择一部分也可以根据些代码修改)

Screen.Cursor := crHourGlass;
  cxGrid2DBTableView1.DataController.GotoFirst;
  for i := 0 tocxgrid2DBTableView1.DataController.FilteredRecordCount - 1 do
  begin
    ifcxGrid2DBTableView1.DataController.GetItemByFieldName('IsChecked').EditValue  = True then
    begin
      cxGrid2DBTableView1.DataController.GetItemByFieldName('IsChecked').EditValue:= False;
    end
    else ifcxGrid2DBTableView1.DataController.GetItemByFieldName('IsChecked').EditValue  = False then
    begin
      cxGrid2DBTableView1.DataController.GetItemByFieldName('IsChecked').EditValue  := True;
    end;
 
    cxGrid2DBTableView1.DataController.GotoNext;
  end;
  Screen.Cursor := crDefault;


//cxgrid2DBTableView1.DataController.FilteredRecordCount这个是得到筛选后的数据行数

//cxGrid2DBTableView1.DataController.GetItemByFieldName('IsChecked').EditValue这个是得到要修改的字段的值 

cxgrid对经过筛选过的数据的选择(反选)_第1张图片


选择按钮下有三个选项:全选、反选、全取消 一般是这样的:
先查询,再筛选(查询出来的数据有些不合适时要筛选),
再选择列下打上勾(要是数据多的话一个个打勾也太麻烦了),就可以修改数据的状态,上面的代码就可以对筛选出来的数据进行反选操作。(全选或全取消也是很简单的,参照上面有代码)
, 以前写的代码把经过筛选出来没用的数据也在反选或全选等操作中了 ,这个就没有问题

转载自http://www.cnblogs.com/long6/archive/2012/01/31/2333094.html

你可能感兴趣的:(cxgrid对经过筛选过的数据的选择(反选))