zoukankan      html  css  js  c++  java
  • DataTable 中,应用Linq文

    Linq文通常用于代替SQL文进行数据查询。其简洁和舒服的表达形式,深受本人喜爱。

    最近在普通的对象数据操作时,也用类似的方法进行操作。

     var sumRows = dt.Copy().Select().ToList().GroupBy(m =>
                        new { key1 = m["JIGYOCD"].ToString(), key2 = m["NYUSYUYMD"].ToString(), key3 = m["TELNO"].ToString() })
                        .ToList();
    
                dt.Clear();
    
                sumRows.ForEach(m =>
                {
                    DataRow row = dt.NewRow();
    
                    row.ItemArray = m.First().ItemArray;
                    row["KOGUTI"] = m.Sum(x => Convert.ToInt32(x["KOGUTI"].ToString()));
                    row["SIHARAIJYURYO"] = m.Sum(x => Convert.ToDecimal(x["SIHARAIJYURYO"].ToString()));
                    row["UNSORYO"] = m.Sum(x => Convert.ToDecimal(x["UNSORYO"].ToString()));
                    row["KYORI"] = m.Sum(x => Convert.ToInt32(x["KYORI"].ToString()));
                    row["KEISANUNTIN"] = m.Sum(x => Convert.ToDecimal(x["KEISANUNTIN"].ToString()));
                    row["SAGAKU"] = m.Sum(x => Convert.ToDecimal(x["SAGAKU"].ToString()));
                    dt.Rows.Add(row);
    
                });
    
                dt.AcceptChanges();
    View Code

    var sumRows = dt.Copy().Select().ToList().GroupBy(m =>
    new { key1 = m["JIGYOCD"].ToString(), key2 = m["NYUSYUYMD"].ToString(), key3 = m["TELNO"].ToString() })
    .ToList();

    dt.Clear();

    sumRows.ForEach(m =>
    {
    DataRow row = dt.NewRow();

    row.ItemArray = m.First().ItemArray;
    row["KOGUTI"] = m.Sum(x => Convert.ToInt32(x["KOGUTI"].ToString()));
    row["SIHARAIJYURYO"] = m.Sum(x => Convert.ToDecimal(x["SIHARAIJYURYO"].ToString()));
    row["UNSORYO"] = m.Sum(x => Convert.ToDecimal(x["UNSORYO"].ToString()));
    row["KYORI"] = m.Sum(x => Convert.ToInt32(x["KYORI"].ToString()));
    row["KEISANUNTIN"] = m.Sum(x => Convert.ToDecimal(x["KEISANUNTIN"].ToString()));
    row["SAGAKU"] = m.Sum(x => Convert.ToDecimal(x["SAGAKU"].ToString()));
    dt.Rows.Add(row);

    });

    dt.AcceptChanges();

    Love it, and you live without it
  • 相关阅读:
    到底什么级别才算是高并发?
    阿里大佬教你,如何写好 Java 代码!
    Java 13 发布了!
    年轻人的第一个自定义 Spring Boot Starter!
    懵圈了,面试官问一个 TCP 连接可发多少个 HTTP 请求?
    Java 和操作系统交互,你猜会发生什么?
    不用找了,基于 Redis 的分布式锁实战来了!
    中国剩余定理
    欧几里德与扩展欧几里德
    大数mod的技巧
  • 原文地址:https://www.cnblogs.com/tomclock/p/6087870.html
Copyright © 2011-2022 走看看