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条)

报告相同问题?

悬赏问题

  • ¥15 CSS实现渐隐虚线边框
  • ¥15 thinkphp6配合social login单点登录问题
  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题