zoukankan      html  css  js  c++  java
  • datatable 分组

    public static void PrintPersons()
    {
    //准备数据
    DataTable dt = new DataTable();
    dt.Columns.Add(new DataColumn("ID", typeof(int)));
    dt.Columns.Add(new DataColumn("UserName", typeof(string)));
    dt.Columns.Add(new DataColumn("DeptNo", typeof(string)));
    dt.Columns.Add(new DataColumn("DeptName", typeof(string)));
    DataRow drTemp = null;
    for (int i = 10; i <= 18; i++)
    {
    drTemp = dt.NewRow();
    drTemp["ID"] = i;
    drTemp["UserName"] = "姓名" + i.ToString();

    if (i < 15)
    {
    drTemp["DeptNo"] = "0001";
    drTemp["DeptName"] = "人事部";
    }
    else
    {
    drTemp["DeptNo"] = "0002";
    drTemp["DeptName"] = "生产部";
    }
    dt.Rows.Add(drTemp);
    }

    Console.WriteLine("分组前:");
    foreach (DataRow row in dt.Rows)
    {
    Console.WriteLine(string.Format("{0} {1} {2} {3} ", row.ItemArray));
    }
    Console.WriteLine("");

    Console.WriteLine("分组后:");

    //Linq分组查询,并按分组显示人员明细
    var query = from g in dt.AsEnumerable()
    group g by new { t1 = g.Field<string>("DeptNo"), t2 = g.Field<string>("DeptName") } into companys
    select new { DeptNo = companys.Key.t1, DeptName = companys.Key.t2, StallInfo = companys };

    foreach (var userInfo in query)
    {
    System.Collections.Generic.List<DataRow> dataRows = userInfo.StallInfo.ToList();

    Console.WriteLine(string.Format("{0}({1})人员名单: ", userInfo.DeptName, userInfo.DeptNo));
    foreach (System.Data.DataRow dr in dataRows)
    {
    Console.WriteLine(string.Format("{0} {1} ", dr.ItemArray));
    }
    }
    Console.ReadLine();
    }

  • 相关阅读:
    JVM调优(一)——参数查询和问题排查
    spring-cloud feign (web服务客户端)(四)
    spring-cloud hystrix(三)
    springCloud ribbon均衡负载的配置及原理 (二)
    maven
    springCloud Eureka 注册中心原理及配置理解(一)
    threadLocal 的使用及意义
    数据库引擎类型
    sql 优化
    sql 的执行计划理解
  • 原文地址:https://www.cnblogs.com/yangpeng-jingjing/p/9087671.html
Copyright © 2011-2022 走看看