zoukankan      html  css  js  c++  java
  • DevExpress ASP.NET 使用经验谈(4)-CriteriaOperator的使用

    上一节中,我们已经介绍了,使用CriteriaOperator表达式,获取对象数据。

    CriteriaOperator criteria = CriteriaOperator.Parse("[UserID]='" + obj.UserID + "'");
    Users objnew = session.FindObject<Users>(criteria);
    

     如果查询结果是多条数,我们可以使用XPCollection来接收:

    XPCollection<Users> coll = new XPCollection<Users>(session);
    CriteriaOperator criteria = CriteriaOperator.Parse("");
    SortProperty sortProperty = new SortProperty("FirstName", SortingDirection.Ascending);
    SortingCollection s = new SortingCollection(sortProperty);
    coll.Session = session;
    coll.Criteria = criteria;
    coll.Sorting = s;
    

    我们修改一下上节的例子,修改后的代码如下:

    using System;
    using System.Collections.Generic;
    using System.Configuration;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using DevExpress.Data.Filtering;
    using DevExpress.Xpo;
    using DevExpress.Xpo.DB;
    using XPOModel.DemoDB;
    namespace DevConsole
    {
        class Program
        {
            static void Main(string[] args)
            {
                string provider = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;//获取数据库连接
                IDataLayer datalayer = new SimpleDataLayer(XpoDefault.GetConnectionProvider(provider, AutoCreateOption.DatabaseAndSchema));//建立数据层XPO独有的
                DevExpress.Xpo.Session session = new DevExpress.Xpo.Session(datalayer); //将数据层和会话绑定
    
                for (int i = 0; i < 10; i++)
                {
                    Users obj = new Users(session);
                    obj.FirstName = "Dave_" + i.ToString();
                    obj.LastName = "Annable";
                    obj.EmailID = "Admin@gmail.com";
                    obj.Save();
                }
    
                XPCollection<Users> coll = new XPCollection<Users>(session);
                CriteriaOperator criteria = CriteriaOperator.Parse("");
                SortProperty sortProperty = new SortProperty("FirstName", SortingDirection.Ascending);
                SortingCollection s = new SortingCollection(sortProperty);
                coll.Session = session;
                coll.Criteria = criteria;
                coll.Sorting = s;
    
                for (int j = 0; j < coll.Count; j++)
                {
                    Users obj = coll[j];
                    Console.WriteLine(string.Format("ID:{0},FirstName:{1},LastName:{2}", obj.UserID, obj.FirstName, obj.LastName));
                }
                Console.ReadLine();
            }
        }
    }
    

     运行程序后,控制台显示如下:

                                                          图一 执行查询结果

    CriteriaOperator还可以应用于XpoDataSource(后续将提到如何使用)。

    前台添加XpoDataSource控件如下:

    <dx:XpoDataSource ID="XpoDataSource1" runat="server" ServerMode="True" TypeName="XPOModel.DemoDB.Users"></dx:XpoDataSource>
    

     后台代码指标查询过滤条件如下:

    XpoDataSource1.Session = session;
    XpoDataSource1.Criteria = "UserID='122008'";
    

     展现效果如下:

                                   图二 XpoDataSource执行过滤查询后结果

     下一节,我们将通过一个完整示例,介绍如何使用DevExpress控件,通过非常少的代码实现CRUD操作...

  • 相关阅读:
    销售管理之调拨销售管理
    项目上线的积极准备工作
    pytest:中文文档
    python:日期计算
    jenkins:新增节点是启动方式没有Launch agent by connecting it to the master
    RobotFramework与Jenkins集成后发送groovy报告(比别处多了用例作者信息)
    Django:前后端分离 djangorestframework开发API接口 serializer序列化认证组件
    windows中怎么添加定时任务
    python:列表推导式
    python:__new__()与__init__()
  • 原文地址:https://www.cnblogs.com/allenlf/p/4134518.html
Copyright © 2011-2022 走看看