【问题标题】:DataTable expression refering to other DataTable column引用其他 DataTable 列的 DataTable 表达式
【发布时间】:2022-11-19 18:10:27
【问题描述】:

我有 2 个数据表,DT1DT2

DT1 有列 A1B1DT2 有列 A2B2。 我想给 A1like A1 = A2 + B2 添加一个表达式

这是否可以在不加入或合并 2 个数据表的情况下完成,这类似于电子表格的操作方式?

有没有其他方法可以做到这一点,除了 DataTable 之外的任何其他数据结构或技术可以完成这项工作?

我看到 DataTable 无法从字符串中推断出列所属的表? 我们是否可以将这 2 个 DataTables 添加到 DataSet,然后执行引用 DataSet 中存在的表的表达式。

【问题讨论】:

标签: c# datatable expression formula


【解决方案1】:

见下面的代码

            DataTable dt1 = new DataTable();
            dt1.Columns.Add("ID", typeof(string));
            dt1.Columns.Add("A1", typeof(int));
            dt1.Columns.Add("B1", typeof(int));

            DataTable dt2 = new DataTable();
            dt2.Columns.Add("ID", typeof(string));
            dt2.Columns.Add("A2", typeof(int));
            dt2.Columns.Add("B2", typeof(int));

            foreach(DataRow row in dt1.AsEnumerable())
            {
                DataRow match = dt2.AsEnumerable().Where(x => x.Field<string>("ID") == row.Field<string>("ID")).First();
                row["A1"] = match.Field<int>("A2") + match.Field<int>("B2");

            }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多