zoukankan      html  css  js  c++  java
  • C# Datatable group by 查询

     操作Datatable  group by  查询

                    //获取统计图形数据
                    var dicleft = new Dictionary<string, DataTable>();
                    var query = from t in dataTableList[0].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);
  • 相关阅读:
    Oracle时间日期操作
    c# 语音卡控制语音卡实现电话录音
    ORACLE日期时间函数大全
    oracle的表分区
    如何应付表数据过大的查询问题?(如何尽量避免大表关联)[转]
    优化SQL Server数据库
    oracle知识回顾
    增强现实 artoolkit
    高负载系统架构设计
    三套.net支持库
  • 原文地址:https://www.cnblogs.com/yisheng/p/5421940.html
Copyright © 2011-2022 走看看