DataSet数据处理问题

hq_yellow 2016-11-02 07:07:26
我想问一下如果我有一个DataSet,想转换一下里面的数据格式。

比如DataSet里的数据是这样:


我想转换成这个样子:



请问我应该怎么去处理这个数据才能转换成这样???
...全文
90 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
EnForGrass 2016-11-03
  • 打赏
  • 举报
回复
就是按传感器名称(p.ItemArray[0])分组(group by)啊,分组后就封装你要的数据
hq_yellow 2016-11-03
  • 打赏
  • 举报
回复
引用 4 楼 Chinajiyong 的回复:
就是按传感器名称(p.ItemArray[0])分组(group by)啊,分组后就封装你要的数据
那我如果把这个数据转化回去呢,就是把这个刚转化出来的数据变回原来的样子,我要怎么做啊
hq_yellow 2016-11-02
  • 打赏
  • 举报
回复
引用 1 楼 Chinajiyong 的回复:
....
真的行耶,太感谢了 不过我还是想再问一下,虽然可以直接拿来用,但我想理解其中的原理,可是我太蠢了,看了好久还是看不太懂其原理 你能替我解答一下么
glest 2016-11-02
  • 打赏
  • 举报
回复
楼上正解:http://t.cn/RVuNOfA
EnForGrass 2016-11-02
  • 打赏
  • 举报
回复

 DataTable dt = new DataTable();
            dt.Columns.Add("名称", typeof(string));
            dt.Columns.Add("时间", typeof(int));
            dt.Columns.Add("温度", typeof(int));
            DataRow dr1 = dt.NewRow();
            dr1["名称"] = "传感器1";
            dr1["时间"] = 1;
            dr1["温度"] = 11;
            dt.Rows.Add(dr1);

            DataRow dr2 = dt.NewRow();
            dr2["名称"] = "传感器1";
            dr2["时间"] = 2;
            dr2["温度"] = 12;
            dt.Rows.Add(dr2);

            DataRow dr3 = dt.NewRow();
            dr3["名称"] = "传感器1";
            dr3["时间"] = 3;
            dr3["温度"] = 13;
            dt.Rows.Add(dr3);

            DataRow dr4 = dt.NewRow();
            dr4["名称"] = "传感器1";
            dr4["时间"] = 4;
            dr4["温度"] = 14;
            dt.Rows.Add(dr4);

            DataRow dr5 = dt.NewRow();
            dr5["名称"] = "传感器1";
            dr5["时间"] = 5;
            dr5["温度"] = 15;
            dt.Rows.Add(dr5);

            DataRow dr6 = dt.NewRow();
            dr6["名称"] = "传感器2";
            dr6["时间"] = 1;
            dr6["温度"] = 11;
            dt.Rows.Add(dr6);
            DataRow dr7 = dt.NewRow();
            dr7["名称"] = "传感器2";
            dr7["时间"] = 2;
            dr7["温度"] = 12;
            dt.Rows.Add(dr7);
            DataRow dr8 = dt.NewRow();
            dr8["名称"] = "传感器2";
            dr8["时间"] = 3;
            dr8["温度"] = 13;
            dt.Rows.Add(dr8);

            DataRow dr9 = dt.NewRow();
            dr9["名称"] = "传感器2";
            dr9["时间"] = 4;
            dr9["温度"] = 14;
            dt.Rows.Add(dr9);
            DataRow dr10 = dt.NewRow();
            dr10["名称"] = "传感器2";
            dr10["时间"] = 5;
            dr10["温度"] = 15;
            dt.Rows.Add(dr10);

            var vardt = from p in dt.AsEnumerable()
                        group p by p.ItemArray[0] into g
                        select new
                        {
                            GroupName = g.Key,
                            TempDataStr = string.Join(";", g.Select(p => { return string.Format("[{0},{1}]", p.ItemArray[1].ToString(), p.ItemArray[2].ToString()); }))
                        };
            foreach (var outputvar in vardt)
            {
                MessageBox.Show(outputvar.GroupName + "  " + outputvar.TempDataStr);
            }

110,565

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧