操作Datatable  group by  查询

  1. //获取统计图形数据
  2. var dicleft = new Dictionary<string, DataTable>();
  3. var query = from t in dataTableList[].AsEnumerable()
  4. group t by new { mname = t.Field<string>("COL_MATERIAL_NAME") } into m
  5. select new
  6. {
  7. MaterialName = m.Key.mname,
  8. value = m.ToList()
  9. };
  10. foreach (var item in query)
  11. {
  12. var dtmax = new DataTable();
  13. dtmax.Columns.Add("XValue");
  14. dtmax.Columns.Add("YValue");
  15. var dtmin = dtmax.Copy();
  16. var dtavg = dtmax.Copy();
  17. var dtup = dtmax.Copy();
  18. var dtdown = dtmax.Copy();
  19.  
  20. foreach (DataRow dritem in item.value)
  21. {
  22. DataRow dr = dtmax.NewRow();
  23. dr["XValue"] = dritem["COL_DATEMONTH"];
  24. dr["YValue"] = dritem["COL_MAXVALUE"];
  25. dtmax.Rows.Add(dr);
  26. dr = dtmin.NewRow();
  27. dr["XValue"] = dritem["COL_DATEMONTH"];
  28. dr["YValue"] = dritem["COL_MINVALUE"];
  29. dtmin.Rows.Add(dr);
  30. dr = dtavg.NewRow();
  31. dr["XValue"] = dritem["COL_DATEMONTH"];
  32. dr["YValue"] = dritem["COL_AVGVALUE"];
  33. dtavg.Rows.Add(dr);
  34. dr = dtup.NewRow();
  35. dr["XValue"] = dritem["COL_DATEMONTH"];
  36. dr["YValue"] = dritem["COL_UPVALUE"];
  37. dtup.Rows.Add(dr);
  38. dr = dtdown.NewRow();
  39. dr["XValue"] = dritem["COL_DATEMONTH"];
  40. dr["YValue"] = dritem["COL_DOWNVALUE"];
  41. dtdown.Rows.Add(dr);
  42. }
  43. dicleft.Add(item.MaterialName + "-最高值", dtmax);
  44. dicleft.Add(item.MaterialName + "-最低值", dtmin);
  45. dicleft.Add(item.MaterialName + "-平均值", dtavg);
  46. dicleft.Add(item.MaterialName + "-内控上限", dtup);
  47. dicleft.Add(item.MaterialName + "-内控下限", dtdown);
  48. }
  49. chartEntity = QMBasicData.AnalyticSeriesData(dicleft, "", new Dictionary<string, DataTable>(), "",
  50. ChartTypeEnum.Line);

C# Datatable group by 查询的更多相关文章

  1. DataTable的子查询--DataTable.Select()

    由于需要,在sql查询获得结果集之后,又需要对该结果再进行筛选一次,若重新从sql中查询会浪费资源,因此特地去查阅了一些资料,学会了用DataTable进行子查询. 在.Net Framework 2 ...

  2. C# List集合Group by查询

    C# List集合Group by查询 //根据企业ID.类型.配置ID进行分组: var groupList = chRCheckConfirmList .GroupBy(x => new { ...

  3. 关于表 datatable的条件查询

    关于表 datatable的条件查询 从数据库中获得一个datatable dt .里面有很多的死的数据.然后,我就是要在这个表中来按条件查询,例如 dt中有个列叫"palte", ...

  4. DataTable/Array Linq查询,groupby

    DataTable Linq查询 1.查询DataRow IEnumerable<DataRow> q1 = from r in dt.AsEnumerable() == select r ...

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

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

  6. linq to datatable 和lambda查询datatable

    用Linq查询DataTable static DataTable table = new DataTable(); static DataColumn dc = new DataColumn(); ...

  7. inq to datatable group by 多列 实现

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

  8. group by 查询分组后 组的条数

    比如select gid from table group by gid 查询时使用下面的方法查询条数 select count(distinct gid) from table 使用select c ...

  9. mongodb 对内嵌文档(数组) group分页查询,并设置查询条件

    文档示例Account的其中一条记录: // collection: Account { "_id" : ObjectId("5843e38e535f3708f759b2 ...

随机推荐

  1. CAD厂商的一丢丢笔记

    Cadence Cadence是个公司名,产品有: OrCAD,画原理图的 Allegro,画PCB的,PrintedCircuitBoard. Mentor,暂时还不知道画什么的 Autodesk ...

  2. Head First 设计模式之适配器模式与外观模式

    Head First设计模式之适配器模式与外观模式 前言: 之前讲过装饰者模式,将对象包装起来并赋予新的职责,这一章我们也会将对象进行包装,只不过是让它们看起来不像自己而像是别的东西.这样就可以在设计 ...

  3. Verilog HDL那些事_建模篇笔记(实验八:键盘解码)

    1.PS2接口与协议时序图 对于PS2的接口来说,需要额外关注的是PIN5与PIN1,一个是时钟,一个是数据.PS2协议对数据的移位是“CLOCK下降沿”有效,其CLOCK的频率通常在10KHz左右. ...

  4. Visual Studio 14 初试,vNext

    下了几天的VS 2014 .终于安装上了,花了好几天时间, VS 2014  下载地址, http://www.visualstudio.com/en-us/downloads/visual-stud ...

  5. Python torndoa mysql 模块安装

    pip install torndb pip install pip install mysql-python #不支持3.x版本 ln -s /usr/local/mysql/lib/libmysq ...

  6. OAF_开发系列18_实现OAF页面跳转setForwardURL / forwardImmediately(案例)

    20150716 Created By BaoXinjian

  7. caffe:用自己的数据训练网络mnist

    画黑底白字的软件:KolourPaint. 假设所有"1"的图片放到名字为1的文件夹下.(0-9类似)..获取每个数字的名称文件后,手动表上标签.然后合成train.txt 1.获 ...

  8. MODBUS-RTU通讯协议简介

    MODBUS-RTU通讯协议简介   什么是MODBUS? MODBUS 是MODICON公司最先倡导的一种软的通讯规约,经过大多数公司 的实际应用,逐渐被认可,成为一种标准的通讯规约,只要按照这种规 ...

  9. CryptoJS遇到的小坑

    CryptoJs是前端加密用的,具体介绍:http://code.google.com/p/crypto-js/ 对应国内免费CDN 服务:http://www.bootcdn.cn/crypto-j ...

  10. 【HOW】如何手工编辑InfoPath文件

    因为直接打开InfoPath的配置文件进行编辑会有些无从下手,所以下面以修改“节”的Margin为例来说明手工编辑InfoPath文件的过程. 1. 新建一个“节”,并在此节中创建一个数字类型字段“n ...