c# - 如何在数据表中按列名添加新行
问题描述
我尝试在为列中每个单元格的平均值计算的列的页脚中添加新行。
原始数据表:
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 | | | |
解决方案
我假设您已经让该代码在每一列的循环中运行。您需要将添加的行移到此循环之外。
for (var i = 0; i < columns.length; i++) {
// existing looping logic
}
dt.Rows.Add(Avg);
推荐阅读
- java - RecyclerView Laggy Android Studio
- docker - 如何使用 ssh 访问 Fargate ECS 实例
- mysql - 如何在不实际更新行的情况下调用`ON UPDATE CURRENT_TIMESTAMP()`?
- r - 使用 ggplot2 在 R 中绘制等倾线
- python - 使用 python turtle 绘制一个带有线条的三角形
- dictionary - 选择图像时使用 Flutter Carousel Slider 路由到特定页面
- javascript - JavaScript 箭头函数的 raku 等价物是什么?
- elasticsearch - 在 ElasticSearch 中搜索大量数字没有返回结果
- python - 当类的 __init__ 变量更改时如何检测和触发函数
- javascript - php 应用程序 Gitlab 分支 url 覆盖