zoukankan      html  css  js  c++  java
  • Linq对DataTable中的列的分类统计

    Linq 对DataTable中的列进行分类统计

    一、构造数据源

            DataTable dt = new DataTable();

                 DataColumn dc = new DataColumn();

                dc.ColumnName = "Id";
                dc.DataType = typeof(System.String);
                dc.DefaultValue = "";
                dt.Columns.Add(dc);
                dc = new DataColumn();
                dc.ColumnName = "CountIn";
                dc.DataType = typeof(System.Decimal);
                dc.DefaultValue = 0;
                dt.Columns.Add(dc);
                this.dataGridView1.DataSource = dt;

    ===============

    二、添加数据

                DataRow dr = dt.NewRow();
                dr["Id"] = "a1";
                dr["CountIn"] = 12;
                dt.Rows.Add(dr);
                dr = dt.NewRow();
                dr["Id"] = "B1";
                dr["CountIn"] = 24;
                dt.Rows.Add(dr);
                dr = dt.NewRow();
                dr["Id"] = "a1";
                dr["CountIn"] = 34;
                dt.Rows.Add(dr);
                dr = dt.NewRow();
                dr["Id"] = "B1";
                dr["CountIn"] = 24;
                dt.Rows.Add(dr);

    ========================

    数据值:

     

     =======================

     三、分类汇总

                var result = from r in dt.AsEnumerable()
                             group r by r.Field<string>("Id") into g
                             select new
                             {
                                 g_id = g.Key,
                                 g_countIn = g.Sum(r => r.Field<decimal>("CountIn"))
                             };
                DataTable dt1 = dt.Clone();
                DataRow dr;
                foreach (var re in result)
                {
                    dr = dt1.NewRow();
                    dr["Id"] = re.g_id;
                    dr["CountIn"] = re.g_countIn;
                    dt1.Rows.Add(dr);
                }
                this.dataGridView2.DataSource = dt1;
    ============================================

    得到如下数据:

     

  • 相关阅读:
    STM32学习笔记之__attribute__ ((at())绝对定位分析
    CRC 自动判断大端 小端
    AT命令控制上网 PDP
    PPP PDP 及GPRS
    Renesas CAT CONFIG
    AT指令(二)
    字节对齐问题
    IntelliJ Idea 常用快捷键列表
    solr6.6 导入 文本(txt/json/xml/csv)文件
    solr6.6 导入 pdf/doc/txt/json/csv/xml文件
  • 原文地址:https://www.cnblogs.com/y740504/p/2348593.html
Copyright © 2011-2022 走看看