【问题标题】:how to add new row into by column name in datatable如何在数据表中按列名添加新行
【发布时间】:2019-10-08 04:36:05
【问题描述】:

我尝试在为列中每个单元格的平均值计算的列的页脚中添加新行。

原始数据表:

 col1 | col2 | col3 | ... | col20 |
------|------|------|-----|-------|
  5   |  10  |  5   | ... |   8   |
------|------|------|-----|-------|
  8   |   7  |  8   | ... |   2   |

我想在下面做:

  col1 | col2 | col3 | ... | col20 |
 ------|------|------|-----|-------|
   5   |  10  |  5   | ... |   8   |
 ------|------|------|-----|-------|
   8   |   7  |  8   | ... |   2   |
-------|------|------|-----|-------|
  6.5  |  8.5 | 6.5  | ... |   5   |

这是我的代码:

    if(sum[i] == 0 )
    {
       dt.Columns.Remove("BIN"+i.ToString()+"");
    }
    else
    {
       dt.Columns.Add("%BIN"+i.ToString()+"", typeof(decimal),"(BIN"+i.ToString()+" / 
       [In System])*100");
       if (i == 1)
       {
         dt.Columns.Add("100-%BIN1", typeof(double), "100 -[%BIN1]");
         Avg[i] = Convert.ToDouble(dt.Compute("Avg([col"+i.Tostring()+"])", string.Empty));
       }
       else
       {
         Avg[i] = Convert.ToDouble(dt.Compute("Avg([col" + i.ToString() + "])", string.Empty)); 
       }
       dt.Rows.Add("Avg_xbar"+i.ToString()+"", Avg[i]);
   }

从我上面的代码来看,结果有问题:

    col1   | col2 | col3 | ... | col20 |
-----------|------|------|-----|-------|
     5     |  10  |  5   | ... |   8   |
-----------|------|------|-----|-------|
    8      |   7  |  8   | ... |   2   |
-----------|------|------|-----|-------|
Avg_xbar1  | 6.5  |      |     |       |
-----------|------|------|-----|-------|
Avg_xbar2  | 8.5  |      |     |       |
-----------|------|------|-----|-------|
Avg_xbar3  | 6.5  |      |     |       |
-----------|------|------|-----|-------|
   ...     | ...  |      |     |       |
-----------|------|------|-----|-------|
Avg_xbar20 |  5   |      |     |       |

【问题讨论】:

    标签: c# datatable average


    【解决方案1】:

    我假设您已经让该代码在每一列的循环中运行。您需要将添加的行移到此循环之外。

    for (var i = 0; i < columns.length; i++) {
      // existing looping logic
    }
    dt.Rows.Add(Avg);
    

    【讨论】:

    • 我想将新行中的值添加到指定的列中。
    • 指定了哪些列?您的示例有 col1 等,但您的代码有 BIN 等
    猜你喜欢
    • 1970-01-01
    • 2022-01-10
    • 2020-11-08
    • 1970-01-01
    • 2016-12-24
    • 2019-08-12
    • 1970-01-01
    • 2020-09-01
    • 1970-01-01
    相关资源
    最近更新 更多