• group by 显示


    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();         }

  • 相关阅读:
    模板之st表
    codevs 1163 访问艺术馆
    noip提高组2000 乘积最大
    [HNOI2008]越狱(luogu P3197)
    [ZJOI2009]假期的宿舍(luogu P2055)
    noip普及组2013 车站分级(luogu P1983)
    [HNOI2010]平面图判定
    sql中对于case when...then...else...end的写法和理解
    java中,去除空白的方法
    关于debug时的一些操作
  • 原文地址:https://www.cnblogs.com/qiu18359243869/p/10337388.html
Copyright © 2020-2023  润新知