加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – 检查过滤字符串的TDataSet行

发布时间:2020-12-15 09:26:42 所属栏目:大数据 来源:网络整理
导读:我在内存TDataSet后代使用DevExpress TdxMemData.虽然它具有Filtered:Boolean和Filter:String属性,但它似乎并不会自动对它们执行任何操作,而是依赖于OnFilterRecord事件的Accept参数的结果. 因此,我正在寻找的方法(可能是在TdxMemData或DevExpress的代码套
我在内存TDataSet后代使用DevExpress TdxMemData.虽然它具有Filtered:Boolean和Filter:String属性,但它似乎并不会自动对它们执行任何操作,而是依赖于OnFilterRecord事件的Accept参数的结果.

因此,我正在寻找的方法(可能是在TdxMemData或DevExpress的代码套件中的其他地方)来解析过滤器文本并将其应用于数据集.

理想情况下,我想要一种方法来测试针对过滤器的单个行,以查看它是否匹配而不将其从数据集中过滤掉(我想要突出显示与过滤器匹配的行).

示例过滤字符串:

((Name = 'Jim') and (Rep > 1000)) or (Rep > 5000)

所以有嵌套和’s和或.它实际上是由DevExpress TcxDBFilterControl构建的.

我真的希望有一些简单的我想念.

更新:我打开了一个ticket with DevExpress,看看他们是否支持任何解决方案.我确实在TdxMemData上找到了他们的股票回答they don’t support filtering.

解决方法

我知道这不是你要找的答案,但TdxMemData数据集不支持过滤字符串.要使用过滤器,请编写自己的OnFilterRecord事件代码或将ProgrammedFilter设置为true,并使用已过滤的记录列表(在运行时)填充FilterList.

一种可能性是编写您自己的解析器,以将过滤器字符串与OnFilterRecord事件中的当前记录进行比较.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读