DataSet6 = DataSet1.Copy();

DataRow[] dr = DataSet6.Tables[0].Select(" 完工状态 = '完工异常' ");

DataTable dt1 = DataSet6.Tables[0].Clone();

for (int i = 0; i < dr.Length; i++)
{
dt1.ImportRow((DataRow)dr[i]);

//this.Text = i.ToString();
}

// Group by
DataTable dtResult = dt1.Clone();
DataTable dtName = dt1.DefaultView.ToTable(true, "委外发票号", "委外订单号", "存货编码", "工艺名称", "订单数量", "出库数量", "未交数量", "CT不良数", "原币含税单价",
"原币价税合计", "累计开票金额", "币种");
for (int i = 0; i < dtName.Rows.Count; i++)
{
DataRow[] rows = dt1.Select(" 委外发票号 ='" + dtName.Rows[i]["委外发票号"].ToString()
+ "' and 委外订单号='" + dtName.Rows[i]["委外订单号"].ToString()
+ "' and 存货编码='" + dtName.Rows[i]["存货编码"].ToString()
+ "' and 工艺名称='" + dtName.Rows[i]["工艺名称"].ToString() + "' ");
//temp用来存储筛选出来的数据
DataTable temp = dtResult.Clone();
foreach (DataRow row in rows)
{
temp.Rows.Add(row.ItemArray);
}

DataRow dr2 = dtResult.NewRow();
dr2["委外发票号"] = dtName.Rows[i]["委外发票号"].ToString();
dr2["委外订单号"] = dtName.Rows[i]["委外订单号"].ToString();
dr2["存货编码"] = dtName.Rows[i]["存货编码"].ToString();
dr2["工艺名称"] = dtName.Rows[i]["工艺名称"].ToString();
dr2["订单数量"] = dtName.Rows[i]["订单数量"].ToString();
dr2["出库数量"] = dtName.Rows[i]["出库数量"].ToString();
dr2["未交数量"] = dtName.Rows[i]["未交数量"].ToString();
dr2["CT不良数"] = dtName.Rows[i]["长腾不良数"].ToString();
dr2["原币含税单价"] = dtName.Rows[i]["原币含税单价"].ToString();
dr2["原币价税合计"] = dtName.Rows[i]["原币价税合计"].ToString();
dr2["累计开票金额"] = dtName.Rows[i]["累计开票金额"].ToString();

dr2["币种"] = dtName.Rows[i]["币种"].ToString();

dr2["入库数量"] = temp.Compute("sum(入库数量)", "");
dtResult.Rows.Add(dr2);
}

//
DataSet9 = new DataSet();
DataSet9.Tables.Add(dtResult);

20180519001 - DataTable Group by功能参考的更多相关文章

  1. C# Datatable group by 查询

    操作Datatable  group by  查询 //获取统计图形数据 var dicleft = new Dictionary<string, DataTable>(); ].AsEn ...

  2. solr分组排序实现group by功能

    http://wiki.apache.org/solr/FieldCollapsing solr分组排序,实现group by功能,代码待添加!

  3. inq to datatable group by 多列 实现

    using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.T ...

  4. Linq DataTable Group By 分组显示人员明细

    实现功能:       多个字段分组源码样例: 原始数据: 分组后的输出结果: 源代码: public static void PrintPersons() { //准备数据 DataTable dt ...

  5. datatable group by

    对datatable 里面的数据按某一特定的栏位进行分组并且按照某一规则 var query = from t in rate.AsEnumerable()   group t by new { t1 ...

  6. DataTable 更改在有数据列的类型方法+DataTable 导出excel功能

    /// <summary> /// 导出功能 /// </summary> /// <param name="sender"></para ...

  7. DataTable Group By或运算 Linq Aggregate的使用

    class Program { static void Main(string[] args) { DataTable dt = new DataTable(); dt.Columns.Add(&qu ...

  8. SqlBulkCopy快速插入datatable到数据库中参考代码,以及要注意的问题

    参考代码如下: public class Examination { #region 批量插入一个sheet的专业对应的学科 /// <summary> /// 批量插入一个sheet的专 ...

  9. Hive中实现group concat功能(不用udf)

    在 Hive 中实现将一个字段的多条记录拼接成一个记录: hive> desc t; OK id string str string Time taken: 0.249 seconds hive ...

随机推荐

  1. 银行卡号正则,jq 正则,php正则

    1 jq正则 /** *银行号码正则 */ function luhmCheck(bankno){ var lastNum=bankno.substr(bankno.length-1,1);//取出最 ...

  2. Spring Boot @EnableWebMvc 与 mvc 配置

    注意: 1.小心使用  @EnableWebMvc 注解 根据官方文档,尽量不要使用 @EnableWebMvc 注解,因为它会关闭默认配置. ① 你希望关闭默认配置,自己完全重新实现一个 @Enab ...

  3. 报Error creating bean with name 'dataSource' defined in class path resource 报错解决办法

    在学习spring boot 的数据库操作的时候,报了一串错误 对于初学spring boot的我来说,英语水平低,看不懂报错的信息,给我造成了很大的麻烦,花了我一天的时间,经过不懈的努力后终于让我找 ...

  4. 提高你的python:解释 yield 和 Generators(生成器)

    转自:http://www.oschina.net/translate/improve-your-python-yield-and-generators-explained 原文:http://www ...

  5. 逆向工程-真码保存在系统文件破解QQ游戏对对碰助手

    1)注册栏中输入任意值测试 1.2)记录弹出的关键字对话框 2.1)发送至PEID进行查壳 2.2)发现无壳 2.3)将软件载入OllyDBG程序 2.4)在反汇编栏下右键选择中文搜索引擎->智 ...

  6. export和export default

    在  vue中 export  变量名不能识别,只能export default 变量,import 随便取名,不需要{}

  7. nmcli命令使用以及网卡绑定bond

    一.nmcli命令 1.什么是nmcli 以前我配置网卡的时候都要打vim /etc/sysconfig/network-scripts/ifcfg-eth0这么一长串命令,有很多配置名字还记不住就需 ...

  8. mysql-8.0.15-winx64 解压版安装

    官网下载了一个 mysql-8.0.15-winx64.zip 版本,解压部署过程记录如下: 1.将zip包解压到D盘 2.配置环境变量 在Path中加入D:\Program Files\mysql- ...

  9. jacoco统计server端功能测试覆盖率

    jacoco可以统计,功能测试时,server代码调用的覆盖情况.这里对服务器端的java代码进行统计.   操作步骤如下:   第一步:更改server的启动脚本,使用jacocoagent.jar ...

  10. Windows下配置node和npm

    Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效. Node.js 的使用包管理器 ...