DevExpress旗下的 eXpress Persistent Objects(XPO) 是专为.NET平台提供的高级对象关系映射工具,旨在让开发人员在更高的抽象层级管理他们的数据。接下来小编将为大家奉送上一系列的入门教程,让XPO初学者能快速上手这一工具。

eXpress Persistent Objects可通过指定逻辑表达式作为数据筛选器,今天这篇教程就为大家介绍如何创建数据查询条件。

制定条件

XPO为筛选条件提供了多个选项。比如,相同的标准代表逻辑表达式 (Age > 30)可以用两个不同的符号进行表示。代码如下:

创建一个 BinaryOperator。将适当的运算对象作为运算器结构的参数:

1
2
3
using DevExpress.Data.Filtering;
CriteriaOperator criteria = new BinaryOperator("Age", 30, BinaryOperatorType.Greater);

条件还可以用可读字符串进行表示,但这个字符串必须使用CriteriaOperator.Parse静态方法:

1
CriteriaOperator criteria = CriteriaOperator.Parse("Age > 30");

你完全可以根据自己的喜好选择适合的方法。XPO提供各种条件操作符,可以让复杂的逻辑表达式变得更加简单。每个当前数据存储存在两个属性:

  • Criteria - 指定条件用于数据存储端的对象筛选
  • Filter - 指定客户端的对象筛选条件

服务器端条件

如果想检索年龄大于30以上的人,可以将条件部署到 XPCollection's XPBaseCollection.Criteria 属性:

1
2
3
4
private void Form1_Load(object sender, EventArgs e) {
// ...
xpCollection1.Criteria = criteria;
}

还有种方法是将条件部署到集合的构造函数,这样就不用设置XPBaseCollection.Criteria属性了。

在设计时,你可以用一个非常方便的编辑器去可视化编辑条件表达式。启用这个编辑器是在XpCollection组件上单击省略号按钮,然后找到Properties窗口中的Criteria:

客户端查询

假设要查询年龄大于30但小于40的人,这里就要创建一个新的条件表达式然后将它部署到集合的 XPBaseCollection.Filter 属性:

1
2
3
4
5
private void Form1_Load(object sender, EventArgs e) {
CriteriaOperator filter = CriteriaOperator.Parse("Age > 30 AND Age < 40");
xpCollection1.Filter = filter;
}

由于是客户端查询,初始的完整数据集可通过设置 XPBaseCollection.Filter 属性为null 的方式存储起来,而不需要访问数据库。

转自慧都控件http://www.evget.com/article/2014/1/15/20412.html

eXpress Persistent Objects (XPO)入门:数据查询相关推荐

  1. Mysql数据库入门---数据查询常用方法(包含条件查询和排序查询)

    Mysql数据库入门-数据查询 Author:qyan.li Date:2022.2.21 文章目录 ``Mysql``数据库入门---数据查询 1. ``select``关键字 2.条件查询 3.排 ...

  2. 【Django博客开发教程】:数据查询 Article.objects.all()

    进行数据查询之前,我们需要先进入我们的管理后台,在里面添加一些数据.然后我们用Pycharm打开我们的数据库.具体操作方法:用Pycharm可视化操作数据库 我们的数据结构长这般模样: 双击blog_ ...

  3. 怎么将查询到的数据表传到文本区_60秒上手Treelab (二):入门数据表

    在上一篇"60秒上手Treelab"用户指南系列中,我们带领各位 Treelab 小伙伴们学习了 Treelab 中最基础的概念,工作台和文件夹的基础知识. Treelab:60秒 ...

  4. MS SQL入门基础:数据查询--SELECT语句

    数据库是为更方便有效地管理信息而存在的人们,希望数据库可以随时提供所需要的数据信息.因此,对用户来说,数据查询是数据 库最重要的功能.本章将讲述数据查询的实现方法. 在数据库中,数据查询是通过SELE ...

  5. Excel 2010 VBA 入门 062 跨表数据查询

    目录 示例 实现代码 跨表操作单元格 连续查找功能 示例 如图所示,该工作簿中建立"数据表"和"数据查询"表分别用于存储客户信息以及客户信息的查询.现希望在数据 ...

  6. 快速入门mybatis(查询、添加日志、插入)

    快速入门mybatis(查询.添加日志.插入) 参考学习视频网址:https://www.bilibili.com/video/BV185411s7Ry?p=9&spm_id_from=pag ...

  7. MySQL中的数据查询

    文章目录 1 简单查询 1.1 查询所有字段数据 1.2 查询指定字段数据 1.3 DISTINCT查询 1.4 IN查询 1.5 BETWEEN AND查询 1.6 LIKE模糊查询 1.7 对查询 ...

  8. Django 3.2.5博客开发教程:体验数据查询

    进行数据查询之前,我们需要先进入我们的管理后台,在里面添加一些数据.然后我们用Pycharm打开我们的数据库.具体操作方法:用Pycharm可视化操作数据库 我们的数据结构长这般模样: 双击blog_ ...

  9. Web前端工作笔记002---json数据查询的方法_json查询大全,JsonSQL数据查询,jfunk数据查询

    JAVA技术交流QQ群:170933152 json数据查询的方法 网上看到有一篇帖子,有8种json数据查询的方法,大家可以研究一下,我现在分享一下! JsonSQL JsonSQL实现了使用SQL ...

最新文章

  1. 获取应用的当前版本号获取当前android系统的版本号
  2. 初步学习pg_control文件之三
  3. Redis高级客户端Lettuce详解
  4. hdu 3999The order of a Tree
  5. java高级之注解详解
  6. python difflib详解_在 Python 中使用 difflib 比较字符串
  7. 代码中如何让无序标记的内容并排_英语技术文档中如何正确使用无序列表和有序列表?...
  8. bzoj 4815: [Cqoi2017]小Q的表格
  9. python神经网络编程 豆瓣,神经网络算法python实现
  10. 【lol版】2022年最新Java学习路线图(来自动力节点)
  11. 计算机分盘介质受写入保护,硬盘介质受写入保护怎么处理
  12. 视频教程-JavaSE基础视频精讲⑰:IO流高级用法-Java
  13. how velero works
  14. 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  15. 芝加哥大学计算机科学硕士录取,芝加哥大学计算应用数学硕士录取案例!
  16. 缠中说禅板块强弱指标的实现(具体代码)
  17. android安卓最新版本,安卓X86最新版本发布,目前已支持大部分安卓程序
  18. DJANGO 页面跳转 URL 使用详解( URL 跳转到指定页面)
  19. 只需一招,教你关闭烦人的Win10自动更新
  20. 零彝输入法用户隐私政策

热门文章

  1. APM/PIX通过mission planner扩展调参PID的设置实操案例 试着说清pid比例,微分,积分的原理,方法,设计
  2. 常见的有源器件和无源器件
  3. selenium之 玩转鼠标键盘操作(ActionChains)
  4. 【华为OD机试 2023最新 】简单的自动曝光、平均像素值(C语言题解 100%)
  5. 中国地质大学(北京) 研究生 2022秋《Python科学计算》期末考试 模拟题1 题目+参考答案
  6. 计算机编程种常见的几种编码详解
  7. MacBook Air连接2K屏开启HiDPI
  8. Text file busy 的解决办法
  9. 服务器系统如何加密文件夹,用服务器共享文件夹管理软件、电脑共享文件加密软件保护共享文件安全...
  10. busybox | 更改安装目录为/usr/local/bin