代码改变世界

XPO学习(3)----数据查询

2011-10-18 09:56  OOA  阅读(1131)  评论(0编辑  收藏  举报

通过前两节,我们知道我们从数据库中检索数据是通过 XPCollection或XPView,但是我们一直查询的是数据库中所有的数据,其实我们也可以根据自己的意愿来获取想得到的数据。

这一节,我们将学会如何自定义一个简单的规则。这一节的例子是在上一节基础上操作的。

任务:

这从数据库中查询年龄大于30的客户。显示年龄大于30小于40的客户。

解决方案:

XPO为我们提供了多种途径来实现同样的过滤器。下面我们就实现了“选择Age>30的客户"  的两种方法:

在Form1 中引用命名空间:

using DevExpress.Data.Filtering;

然后 创建规则器(CriteriaOperator):

        //两种方法如下:
//CriteriaOperator criteria = new BinaryOperator("Age", 30, BinaryOperatorType.Greater);
CriteriaOperator criteria = CriteriaOperator.Parse("Age>30");


最后在FormLoad时为XPCollection添加规则

        private void Form1_Load(object sender, EventArgs e)
{
xpCollection1.Criteria = criteria;

ok,启动看看。

XPO 还为我们提供了更多的规则器来方便我们实现更加复杂的查询规则,后面将陆续学习。

这里我们要了解数据临时存储(像XPColleciton和XPView) 两个过滤数据的属性:

 Criteria:指定向数据库查询数据的规则。

Filter:指定显示给用户的数据 筛选规则。

这正是我们实现后半部分任务(显示年龄大于30小于40的客户)所需要了解的知识点。

同样类似于我们 刚才创建Critira规则的过程:

还是在Form1中添加成员:

      CriteriaOperator filter = CriteriaOperator.Parse("Age<40");

然后再在FormLoad中添加 Filter 过滤:

 xpCollection1.Filter = filter;

ok 启动调试

结束语:

这一节我们学会了如何创建也应用规则过滤器。

然后我们知道 有两方面的筛选:一方面是面向数据的,两一方面是面向界面的。