操作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. linux---mysql远程访问

    1.远程连接上Linux系统,确保Linux系统已经安装上了MySQL数据库. 登陆数据库.mysql -uroot -p(密码). 2.创建用户用来远程连接 GRANT ALL PRIVILEGES ...

  2. 移动互联网广告 - 第十更 - 广告投放运营 DashBoard - 2016/12/10

    广告投放运营 DashBoard设计 移动互联网互联网广告投放,数据监控DashBoard,基础样例示意,下图仅供参考(来自于互联网).

  3. 跨平台开发之阿里Weex框架环境搭建(一)

    转载自:http://www.cnblogs.com/fozero/p/5995122.html 一.介绍 Weex是阿里今年6月份推出的跨平台解决方案,6月底正式开源.官网 https://alib ...

  4. MSSQL MERGE语法

    Merge的用法 Merge可以完成以下功能: 1.    两个表之间数据的更新 2.    进行进销存更新库存 3.    进行表之间数据的复制 语法说明: 1.    在语句结束后一定要用分号,否 ...

  5. 使用 Linq 对多个对象进行join操作 C#

    class A { public int id { get; set; } public string name { get; set; } } class B { public int id { g ...

  6. bug_ _ _常见的bug??

    ======= 7    Failure [INSTALL_FAILED_INVALID_APK] 执行  adb install -r test.apk.时出现错误  Failure [INSTAL ...

  7. java安全沙箱(二)之.class文件检验器

    java是一种类型安全的语言,它有四类称为安全沙箱机制的安全机制来保证语言的安全性,这四类安全沙箱分别是: 类加载体系 .class文件检验器 内置于Java虚拟机(及语言)的安全特性 安全管理器及J ...

  8. ios webview 只能播放带域名的视频连接好奇怪!

    - (void)loadWebView { UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectMake(, , SCREEN_WI ...

  9. Linux5.5安装10g rac

    以前安装总结的,现把它贴出来,虽然10g现在慢慢越少了,但也有不少生产库跑10g的. 1.vi /etc/hosts 10.168.39.243    orcldb1   10.168.39.245  ...

  10. UIPopoverController使用

    *:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...