c# - 在数据集中添加数据表的列

标签 c# datatable dataset

我有一个包含 2 个 DataTableDataSet。每个 DataTable 都包含一个名为“cost”的列。 我想计算名为结果表的表中 2 个表的所有成本总和,如下例所示。我该怎么做?

Table 1
Name  | cost
balan |  6
gt    |  5

Table 2
Name  |  cost
balan |  2
gt    |  8

Result table
Name  | cost
balan | 8
gt    | 12

最佳答案

这是一种方法:

DataTable dt1 = new DataTable();
DataTable dt2 = new DataTable();
DataTable results = new DataTable();

dt1.Columns.Add("Name");
dt1.Columns.Add("cost", typeof(int));
dt2.Columns.Add("Name");
dt2.Columns.Add("cost", typeof(int));
results.Columns.Add("Name");
results.Columns.Add("cost", typeof(int));

dt1.Rows.Add("balan", 6);
dt2.Rows.Add("balan", 2);
dt1.Rows.Add("gt", 5);
dt2.Rows.Add("gt", 8);


foreach (DataRow dr1 in dt1.Rows)
{
    results.Rows
        .Add(
            dr1["Name"], 
            (int)dr1["cost"] + (int)dt2.Select(String.Format("Name='{0}'", dr1["name"]))[0]["cost"]
        );
}

关于c# - 在数据集中添加数据表的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14258399/

相关文章:

c# - async Task<bool> if 条件下的方法调用

c# - 管理存在于多个解决方案中的 C# 项目的 Nuget 包

java - 在 JSF+Facelets 中迭代 HashMap.values()

c# - 将 TextBox.Text 绑定(bind)到 DataSet.DataSetName

c# - 我如何调整生产者 Actor 的速度,以便它不会向消费者 Actor 传达太多消息

c# - 如何使用 MySQL 连接器在 C# 中获取 NOW() 值?

c# - 检查列是否返回空值的最佳方法(从数据库到 .net 应用程序)

c# - C# 中可以添加到 DataTable 的行数是否有限制?

c# - 如何将 DatagridView 保存在 Xml 中并将 Xml 加载到 datagridView?

xml - Spark Dataset write()方法返回错误