happyleo12 2016-12-21 01:57 采纳率: 50%
浏览 1360
已采纳

求C#绘制datatable表格的循环方法

从数据库读取的三张查询语句得到的表:

 A库    time,id,err     B库   time,id,err     C库   time,id,err
          1:00,1,34                1:00,1,55                1:00,1,88
          2:00,1,38                2:00,1,33                2:00,1,99
          3:00,1,89                3:00,1,43                3:00,1,167

这是三个数据库分别查的

 效果表:   time id  errA errB errC
                 1:00  1    34    55   88
                 2:00  1    38    33   99
                 3:00  1    89    43   167

在后台代码绘制datatable

 DataTable dt = new DataTable("rawData");

            //初始化数据
            //新建行和列
            dt.Columns.Add("Time");
            dt.Columns.Add("ErrA");
            dt.Columns.Add("ErrB");
            dt.Columns.Add("ErrC");

            dt.Rows.Add("", "",0, 0, 0);
            dt.Rows.Add("", "",0, 0, 0);
            dt.Rows.Add("", "",0, 0, 0);

接下来要用循环语句把数据一个一个加进datatable表内,好像是用foreach语句不太会写,要和效果表一样的那个,跪求大神

  • 写回答

4条回答 默认 最新

  • HyperMa0 2016-12-21 03:07
    关注

    3库一一对应

    DataTable dt = new DataTable("rawData");
    //初始化数据
    //新建行和列
    dt.Columns.Add("Time");
    dt.Columns.Add("ErrA");
    dt.Columns.Add("ErrB");
    dt.Columns.Add("ErrC");
    dt.Columns.Add("id");//id不要丢啊

                //A B C三库 是你已经得到的
                DataTable a = new DataTable();
                DataTable b = new DataTable();
                DataTable c = new DataTable();
    
                //循环A库  循环一条A 找B和C  再插入到结果表里
                foreach (DataRow drA in a.Rows)
                {
                    //先得到B库和C库的err
                    DataRow drB = b.Select("id=" + drA["id"] + " and time=" + drA["time"])[0];
                    DataRow drC = b.Select("id=" + drA["id"] + " and time=" + drA["time"])[0];
                    //新建一行
                    DataRow dr = dt.NewRow();
                    //赋值
                    dr["Time"] = drA["time"];
                    dr["ErrA"] = drA["err"];
                    dr["ErrB"] = drB["err"];
                    dr["ErrC"] = drC["err"];
                    dr["id"] = drA["id"];
                    //构造完dr后  插入dt
                    dt.Rows.Add(dr);
                }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥35 平滑拟合曲线该如何生成
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站