操作Datatable  group by  查询

                //获取统计图形数据
var dicleft = new Dictionary<string, DataTable>();
var query = from t in dataTableList[].AsEnumerable()
group t by new { mname = t.Field<string>("COL_MATERIAL_NAME") } into m
select new
{
MaterialName = m.Key.mname,
value = m.ToList()
};
foreach (var item in query)
{
var dtmax = new DataTable();
dtmax.Columns.Add("XValue");
dtmax.Columns.Add("YValue");
var dtmin = dtmax.Copy();
var dtavg = dtmax.Copy();
var dtup = dtmax.Copy();
var dtdown = dtmax.Copy(); foreach (DataRow dritem in item.value)
{
DataRow dr = dtmax.NewRow();
dr["XValue"] = dritem["COL_DATEMONTH"];
dr["YValue"] = dritem["COL_MAXVALUE"];
dtmax.Rows.Add(dr);
dr = dtmin.NewRow();
dr["XValue"] = dritem["COL_DATEMONTH"];
dr["YValue"] = dritem["COL_MINVALUE"];
dtmin.Rows.Add(dr);
dr = dtavg.NewRow();
dr["XValue"] = dritem["COL_DATEMONTH"];
dr["YValue"] = dritem["COL_AVGVALUE"];
dtavg.Rows.Add(dr);
dr = dtup.NewRow();
dr["XValue"] = dritem["COL_DATEMONTH"];
dr["YValue"] = dritem["COL_UPVALUE"];
dtup.Rows.Add(dr);
dr = dtdown.NewRow();
dr["XValue"] = dritem["COL_DATEMONTH"];
dr["YValue"] = dritem["COL_DOWNVALUE"];
dtdown.Rows.Add(dr);
}
dicleft.Add(item.MaterialName + "-最高值", dtmax);
dicleft.Add(item.MaterialName + "-最低值", dtmin);
dicleft.Add(item.MaterialName + "-平均值", dtavg);
dicleft.Add(item.MaterialName + "-内控上限", dtup);
dicleft.Add(item.MaterialName + "-内控下限", dtdown);
}
chartEntity = QMBasicData.AnalyticSeriesData(dicleft, "", new Dictionary<string, DataTable>(), "",
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. arcgis 10.2连接Oracle

  2. 怎么查看bios版本

    怎么查看bios版本呢?无需去注册表查看,无需去BIOS中查看,只需要一条简单的命令即可,下面就来一起看一看怎么查看bios版本: Win键+R打开“运行”,然后再“运行”中输入cmd进而打开“cmd ...

  3. [wxWidgets] 1. 安装及"hello world"程序

    关于wxWidgets的优越已经在它的官方网站有所阐述,本文不再赘述. 本系列主要记录学习这个软件包过程中遇到的问题以及心得. 1.  安装 从源码安装虽然大多时候不是一件轻松的过程,但是基于以下两个 ...

  4. WCF服务客户端首页调用慢的问题处理

    场景: WCF服务架设于IIS服务中,走TCP协议.客户端首次调用特别慢,第一次加载完后,都正常. 解决: 把服务中需要序列化的模型所在的工程 > 属性 > 生成 > 生成序列化程序 ...

  5. 在IT行业换一个领域

    开发做了不到两个月,就不做了.原因是自己不喜欢开发,感觉开发的东西很麻烦.也许说到麻烦,很多人都要教训我了,干什么不麻烦.我也不想反驳什么,因为失败的次数太多了,反驳也无力. 从放弃开发开始到现在,抑 ...

  6. 关于margin的问题

    昨晚是第一天,现在来说说margin的这个存在的问题吧, 嗯,就是当你碰到 <div class="max-box"> <div class="box1 ...

  7. 如何解決 Homebrew Update 失敗?

    相信許多用 MAC 系統的程式設計師.工程師們都有用 Homebrew 這個超好用的 Open Source 套件管理程式吧? 如果沒有的話,你可以透過以下的指令安裝: ruby -e "$ ...

  8. Android开发-无法新建Activity及新建后编译错误

    下载了其他的工程后,新建Activity时无法进行下一步,报错:“This template requires a minimum SDK version of at least 7, and the ...

  9. SIP 解析

    1 general-header类: 为描述消息基本属性的通用头域,可用于请求消息或响应消息:通用头域的域名只有在协议版本改变时才可有效地扩展.不过,通信中的所有方均认为是“通用头域”的新的头域也可认 ...

  10. SQL语句Where中使用别名作为判断条件

    当我们使用某个表达式作为输出的一列时,我们无法再Where条件中直接使用该列作判断条件.   例如下面的SQL语句: select id, (c1 + c2) as s from t1  where ...