zoukankan      html  css  js  c++  java
  • cxGrid控件过滤筛选后如何获更新筛选后的数据集

    cxGrid控件过滤筛选后如何获更新筛选后的数据集

     (2015-06-19 12:12:08)
    标签: 

    delphi

     

    cxgrid筛选数据集

     

    cxgrid过滤

    分类: Delphi

    cxGrid控件功能非常强大,很多人在使用,受到广大程序员的青睐,然而有时因为其功能强大,很多东西让开发人员一时摸索不出来,比如它的筛选功能。筛选功能使用方便,灵活,但是它默认筛选过后数据集并没有更新。简单验证法,筛选之前数据是20条记录,筛选过滤后显示的是10条记录,筛选过后查询绑定的AdoQuery的RecordCount,你会发现该值还是20,AdoQuery没有更新。

    那么如何让AdoQuery筛选过后更新到和当前显示数据一致呢?有两种方法:

    例:控件cxGrid1的cxGridDBTableView1绑定Ado组件AdoQuery1。设置cxGridDBTableView1的OptionsCustomize中的ColumnFiltering属性为True,然后设置需要筛选列的Options中的Filtering属性为True,这样就可以通过该列实现刷选过滤功能。

    1.在cxGridDBTableView1的DataControllerFilterBeforeChange事件中写代码

      AdoQuery1.Filtered := True;
             AdoQuery1.Filter := AFilterText;

    2.直接设置cxGridDBTableView1的属性实现,这个属性一般比较难找到。

    在cxGridDBTableView1属性栏找DataController ——>Filter——>AutoDataSetFilter设置为True即可。

    通过以上方法可以通过过滤前后AdoQuery1的RecordCount来验证一下。

    注:AdoQuery1如果是手动创建的,在该窗体的FormClose事件中把AdoQuery1的AdoQuery1属性再设置为原有状态,不然下次打开该窗口查询会报错。

  • 相关阅读:
    sqlserver 配置管理器中无法启动sqlserver服务
    9.4笔记
    ASP.NET 正则表达式验证
    ASP.NET之OnClientClick 事件
    ASP.NET之js 根据textbox变化刷新相关数据
    SQL
    leetcode:Roman to Integer(罗马数字转化为罗马数字)
    leetcode:Integer to Roman(整数转化为罗马数字)
    leetcode:Palindrome Number
    leetcode:String to Integer (atoi)
  • 原文地址:https://www.cnblogs.com/westsoft/p/8504453.html
Copyright © 2011-2022 走看看