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

// 下面这个主要是对查询出来的数据, 经过筛选后得到的数据中进行反选操作 ,然后对选择的数据进行修改(全选或选择一部分也可以根据些代码修改)
Screen.Cursor := crHourGlass;
 cxGrid2DBTableView1.DataController.GotoFirst;
 for i := 0 to cxgrid2DBTableView1.DataController.FilteredRecordCount - 1 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;
//cxgrid2DBTableView1.DataController.FilteredRecordCount这个是得到筛选后的数据行数
//cxGrid2DBTableView1.DataController.GetItemByFieldName(‘IsChecked‘).EditValue这个是得到要修改的字段的值

 

  选择按钮下有三个选项:全选、反选、全取消

     一般是这样的: 先查询,再筛选(查询出来的数据有些不合适时要筛选), 再选择列下打上勾(要是数据多的话一个个打勾也太麻烦了),就可以修改数据的状态,上面的代码就可以对筛选出来的数据进行反选操作。(全选或全取消也是很简单的,参照上面有代码) ,

    以前写的代码把经过筛选出来没用的数据也在反选或全选等操作中了 ,这个就没有问题

using  Filter :
procedure TForm2.Button3Click(Sender: TObject);
var
  I: Integer;
begin
  for I := 0 to cxGrid1DBTableView1.DataController.FilteredRecordCount - 1 do
  begin
    cxGrid1DBTableView1.DataController.FocusedRecordIndex := cxGrid1DBTableView1.DataController.FilteredRecordIndex[I];
    cxGrid1DBTableView1.DataController.SetEditValue(cxGrid1DBTableView1Reviewed.Index,
      True, evsValue)
  end;
end;


 
时间: 2024-08-26 06:08:51

cxgrid对经过筛选过的数据的选择(反选)的相关文章

商品分类筛选条件建模数据表的设计

近端时间,由于商城项目的需求,学习探索了一下商品分类筛选条件.在学习过程中,一贯喜欢参考前人的东西,希望能从中得到一些独特的设计思路.京东.淘宝等大牛对这方面做得非常好,不管是用户体验还是技术方面.我们先看看京东的效果图 个人分析:京东的商品筛选中,每个子类型都对于一个具体的模型,而模型下又分为属性(如:功能)以及属性值集.经过两天的整理,总算成型.现在拿出来跟大家分享一下,有什么不足之处,希望大家不怜赐教. Model表 Attribute表 GoodsAttribute表 商品分类筛选条件建

[2] D3.js中如何使用数据和选择元素

对D3.js或数据可视化有兴趣的朋友欢迎到 www.ourd3js.com 讨论. 接着上一讲的内容,这次讨论如何选择元素和使用数据. 现在页面中有三行文字,代码为: <p>Hello World 1</p> <p>Hello World 2</p> <p>Hello World 3</p> 定义一个集合set,里面有三个元素: var set = ["I like dog","I like cat&qu

Select2 4.0 ajax/processResults 中返回 id="" 的数据,选择不了

对ajax动态读取数据,选择({id:"",text:"全部"})id=""的值选项时,在select元素中动态生成option代码并调用val选中该选中,问题在于动态生成option的value值不为"",导致选择不了(Firefox环境,其它未测试) 具体执行顺序为:(select2.full.js) A.选中元素(如原html中无该option的话,根据data生成一个option 并选中它) B.生成option元素

用python实现按权重对N个数据进行选择

需求:某公司有N个人,根据每个人的贡献不同,按贡献值给每个人赋予一个权重.设计一种算法实现公平的抽奖. 需求分析:按照权重对数据进行选择. 代码实现: 1 def fun(n,p): 2 """ 3 n 人的编号 4 p 每个人的权重 5 """ 6 my_dict = {} 7 my_sum = 0.0 8 for i in range(100): 9 my_dict[i] = [my_sum, my_sum + p[i]] 10 my_sum

筛选DataTable中数据的方法

当你从数据库里取出一些数据,然后要对数据进行整合,你很容易就会想到: 1 DataTable dt = new DataTable();//假设dt是由"SELECT C1,C2,C3 FROM T1"查询出来的结果 2 for (int i = 0; i < dt.Rows.Count; i++) 3 { 4 if (dt.Rows[i]["C1"].ToString() == "abc")//查询条件 5 { 6 //进行操作 7 }

cxGrid 锁定一行,让该行数据不能编辑

在使用cxGrid时,由于设置了所有单元格都能编辑, 但在特定的情况下,让某些行,根据一些列值条件,让该行整行锁定,不能编辑. 研究了很久,在DevExpress官网上找到了相关的资料,因此,分享给大家. Dev官网的列子是这样的 // DISABLE A ROW 整行禁止编辑 procedure TForm1.cxGrid1DBTableView1Editing(Sender: TcxCustomGridTableView; AItem: TcxCustomGridTableItem; var

从数据表中筛选重复的数据

If you want to find duplicate data (by one or several criterias) and select the actualrows. This should also work, maybe give it try. SELECT id, COUNT(id) FROM table1 GROUP BY id HAVING COUNT(id)>1; I think this will work properly to search repeated

【 D3.js 入门系列 — 2 】 绑定数据和选择元素

1. 如何绑定数据 D3 有一个很独特的功能:能将数据绑定到 DOM 上,也就是绑定到文档上.这么说可能不好理解,例如网页中有段落元素<p>,我们可以将整数 5 与 <p>绑定到一起. D3 中是通过 data() 和 datum() 函数来绑定数据的,最常用的是 data(). 现有如下 HTML 代码: <p>Hello World 1</p> <p>Hello World 2</p> <p>Hello World 3

odoo之显示前端,数据,可选择

def create(self,cr,uid,vals,context=None): if context is None: context ={} [生产单号] if vals.get('name','/')=='/': vals['name']=self.pool.get('ir.sequence').get(cr,uid,'sale.origin') or '/' ctx=dict(context or {},mail_create_nolog=True) #如果存在这个字段 则不处理 反