cxgrid过滤使用心得

[delphi] view plain copy

  1. uses cxFilter;

cxgrid过滤条件清除:cxgrdbtblvwGrid1DBTableView2.DataController.Filter.AutoDataSetFilter:=True;
                                     cxgrdbtblvwGrid1DBTableView2.DataController.Filter.Clear;
cxgrid过滤条件添加:cxgrdbtblvwGrid1DBTableView2.DataController.Filter.Root.Clear;

[delphi] view plain copy

  1. cxgrdbtblvwGrid1DBTableView2.DataController.Filter.Root.AddItem(cxgrdbtblvwGrid1DBTableView2.GetColumnByFieldName(‘合同号‘),folike,‘%‘+hth+‘%‘,‘%‘+hth+‘%‘);
  2. cxgrdbtblvwGrid1DBTableView2.DataController.Filter.Active:=True ;

CXGRID程序控制过滤方法:

[delphi] view plain copy

  1. DBTable.DataController.Filter.Root.Clear;
  2. // DBTable.DataController.Filter.Root.BoolOperatorKind过滤关系【有四个值】
  3. DBTable.DataController.Filter.Root.BoolOperatorKind:= fboOR;//或者
  4. DBTable.DataController.Filter.Root.BoolOperatorKind:= fboAND;//并且
  5. DBTable.DataController.Filter.Root.BoolOperatorKind:= fboNOTOR;//非或者
  6. DBTable.DataController.Filter.Root.BoolOperatorKind:= fboNOTAND;//非并且
  7. //DBTable.DataController.Filter.Root.AddItem(AItemlink:Tobject;Aoperatorkind:Tcxfilteroperator;Const Avalue:variant;const Adisplayvalue:STRING);

相应说明:
AItemlink=列
Aoperatorkind=条件
foequal        等于
fonotequals        不等于
foless        小于
folessequal        小于等于
fogreater        大于
fogreaterequal        大于等于
oflike        相似
ofnotlike        不相似
    ofblank        为空
    ofnotblank        不为空
Avalue=条件值
Adisplayvalue=显示值
DBTable.DataController.Filter.Active:=TRUE;

//由上面可得出一个过程:
PROCEDURE DATA_ADDITEM(CXDATA:TcxGridDBDataController;Index,IfInt:integer;VarStr,PlaStr:String);
Var IfStr:TcxFilterOperatorKind;
Begin
  Case IfInt Of
      0: IfStr:= foEQUALS;
      2: IfStr:=foNOTEQUALS;
      3: IfStr:=foLESS;
      4: IfStr:=foLESSEQUAL;
5: IfStr:=foGREATER;
      6: IfStr:=foGREATEREQUAL;
      7: IfStr:=ofLIKE;
      8: IfStr:=ofNOTLIKE;
      9: IfStr:=ofBLANK;
      10:IfStr:=ofNOTBLANK;
  End;
CXDATA.ROOT.AddItem(CXDATA.Columns[Index],IfStr,VarStr,PlaStr)
End;

[delphi] view plain copy

  1. uses cxFilter;
  2. with cxGridDBBandedTableView.DataController.Filter do
  3. begin
  4. Root.Clear;
  5. Root.AddItem(cxGridDBBandedTableView.GetColumnByFieldName(‘操作员姓名‘), foLike, ‘%‘ + Trim(cxTextEdit.Text) + ‘%‘, ‘%‘ + Trim(cxTextEdit.Text) + ‘%‘);
  6. Active := True;
  7. end;

设置过滤的案例:

[delphi] view plain copy

  1. <AGridView>.DataController.Filter.AddItem(nil, <AOrderDateColumn>, foEqual, ‘5/25/1988‘, ‘5/25/1988‘);
  2. To enable/disable filtering via code set the GridView‘s DataController.Filter.Active property to True.
  3. [Delphi]Open in popup window
  4. <AGridView>.DataController.Filter.Active := False;

原文地址:https://www.cnblogs.com/westsoft/p/8643783.html

时间: 2024-11-09 00:14:24

cxgrid过滤使用心得的相关文章

delphi CxGrid用法总结(63问)

1. 去掉cxGrid中台头的Box 解决:在tableview1的optionsview的groupbybox=false; ***************************************************************************** 2.统计功能 解决:(1) tableview tableview1的optionsviewfooter=ture 然后在cxGRid1的customize..中的summary 的footer.add需要合计的列k

键盘过滤驱动

在笔者接触驱动到如今以来一以后大半个月的时间,从中让我深深的体会到了万事开头难,以及学习持之以恒的重要性.笔者也是个驱动新人,開始接触驱动的时候看着张帆的<Windows驱动开发技术具体解释>讲的挺细,对新手来说是个不错的学习资料,可是更重要的还是自己要多动手练习,笔者在学习到同步操作的相关知识的时候,实在是看天书.最后还是放弃了学习本书.再找了本楚狂人的资料学习,感觉本书对新手来说还是比較吃力的,当中笔者就是这样,非常多知识点不是非常明确,仅仅能凭借自己的感觉去做,只是造成的后果就是无情的蓝

Delphi CxGrid 汇总(4)

1.     CxGrid汇总功能 ① OptionsView-Footer设置为True,显示页脚   ② CxGrid的Summary选项卡定义要汇总的列和字段名及汇总方式,Footer选项卡定义单个汇总,Default For Groups定义按组汇总.OptionsView-GroupFooters设置为gfAlwaysVisible则显示按组汇总.设置后界面如图. 2.       CxGrid的样式设置 当设置了Kind时,NativeStyle必须设置为False,如果指定了Ski

关于 cxGrid 的过滤问题

http://bbs.csdn.net/topics/390536919 关于 cxGrid 的过滤问题 [问题点数:20分,结帖人zhengyc653] 不显示删除回复             显示所有回复             显示星级回复             显示得分回复             只显示楼主           收藏 zhengyc653  结帖率:95.45% 本帖最后由 zhengyc653 于 2013-08-03 15:17:16 编辑 今天用了一下cxGri

cxGrid实现取消过滤和排序后定位到首行(单选和多选)

cxGrid实现取消过滤和排序后定位到首行(单选和多选) 原创 2013年10月06日 18:42:24 2107 DataContoller中的函数FocusedRecordIndex没有反应,FocusedRowIndex正常. cxgrdtvGrid1DBTableView1.DataController.FocusedRecordIndex := 0; //定位到第一行,排序过滤无反应 cxgrdtvGrid1DBTableView1.DataController.FocusedRowI

如何访问cxGrid控件过滤后的数据集

var I: Integer; begin Memo1.Lines.Clear; with cxGrid1DBTableView1.DataController do for I := 0 to FilteredRecordCount - 1 do Memo1.Lines.Add(DisplayTexts[FilteredRecordIndex[I], 0]); end; https://www.devexpress.com/Support/Center/Question/Details/A38

推荐系统之协同过滤

这个转自csdn,很贴近工程. 协同过滤(Collective Filtering)可以说是推荐系统的标配算法. 在谈推荐必谈协同的今天,我们也来谈一谈基于KNN的协同过滤在实际的推荐应用中的一些心得体会. 我们首先从协同过滤的两个假设聊起. 两个假设: 用户一般会喜欢与自己喜欢物品相似的物品 用户一般会喜欢与自己相似的其他用户喜欢的物品 上述假设分别对应了协同过滤的两种实现方式:基于物品相似(item_cf)及基于用户相似(user_cf). 因此,协同过滤在实现过程中,最本质的任务就是计算相

项目所学到的心得

一  项目所得  1.1 心得体会 任何事物都要从最简单.最基本的构架入手,理解复杂的.--接触学习新东西时的指导思路. 做理论要做做想想,边停边走:做工程则要不断推进,因为不做不出来.工程就是靠时间堆出来的,不在于谁比谁聪明多少,而在于谁比谁用功了多少. 做工程思路:不要挑刺钻牛角尖,能用就行.要实用主义而不是理想主义,忌追求完美(比如正确解调需要信噪比至少10dB,则前端的同步就无须追求在5dB下性能最佳)!该细则细,该粗则粗.不要死抠理论,太专注细节往往看不到整体(又如同步性能设计再好,解

Delphi : cxGrid的使用方法

1. 去掉cxgrid中抬头的box ,在tableview1的ptionsview的groupbybox=false; 2. 在GRID footer 中加入sum(列), tableview1的optionsview的footer=ture然后在cxGRid1的customize中的summary 的footer.add需要合计的列kind= skSum3. 去掉cxgrid 中的过滤下拉箭头选择tableview1.optionscustomize.columnfiltering=fasl