zoukankan      html  css  js  c++  java
  • 使用linq 对 DataTable 中的数据进行 查询 与 分类求合

      A:linq 的查询方式写得可以非常简洁如下所示:

            

      DataTable dt = null;
            private void XtraForm1_Load(object sender, EventArgs e)
            {

               //1.打开linq 连到数据库。
                MyFLYDataContext dataContext = new MyFLYDataContext();
                var v1 = from t in dataContext.T2_Elderly select t;

               // 2.把得到的数据变成 DataTable
                dt = DataFunction.LINQToDataTable(v1);

               // 绑到gridControl1中
                this.gridControl1.DataSource = dt;
               
            }

     B: 这时,对 DataTable 进行查询与分类求合

            private void simpleButton1_Click(object sender, EventArgs e)
            {
                //1.使用 DataTable 查询,这里用了多个列的列子。
                var query =
                   from q in dt.AsEnumerable()
                   group q by new {a= q.Field<string>("Status"), b = q.Field<string>("ZWStatus")} into r
                   select new
                   {
                       a = r.Key.a,
                       b = r.Key.b,
                       _qCount = r.Count()
                   };

               //2.把得到的数据变成 DataTable
                DataTable dts = DataFunction.LINQToDataTable(query);
                this.gridView1.Columns.Clear();
                this.gridControl1.DataSource = dts;

            }

    c: 如果还原可以这样做:

            private void simpleButton2_Click(object sender, EventArgs e)
            {
                this.gridView1.Columns.Clear();
                this.gridControl1.DataSource = dt;
            }

    d: 这样的好处在于,不需要再次查数据库,就可以对已经有的数据进行分类求合。以及查询。

  • 相关阅读:
    SRM 594 DIV 2
    python 算法
    virtualenv和virtualenvwrapper介绍、安装和使用
    Django自带的ORM如何执行group by(聚合查询)语句(求和、累积、平均)
    Django REST FrameWork中文教程4:验证和权限
    Django REST FrameWork中文教程3:基于类的视图
    Django REST FrameWork中文教程2:请求和响应
    Django REST framework 中文教程1:序列化
    MySQL基础-存储过程和函数
    MySQL基础-变量
  • 原文地址:https://www.cnblogs.com/xiajing12345/p/3302766.html
Copyright © 2011-2022 走看看