【问题标题】:Combine two non-identical rows of a datatable合并数据表的两个不相同的行
【发布时间】:2014-07-15 08:43:16
【问题描述】:

我有两个数据表 dt1 和 dt2 ,其中 dt1 包含单列“ID”,dt2 包含单列“NAME”。我的要求是结合两个数据表并创建一个新的数据表(即)

如上所述,我需要同时获取数据表 (dt1 & dt2) 的数据,并且需要创建一个新的 数据表


【问题讨论】:

  • 有什么尝试吗? 重写您已经生成的代码可能会节省我们的时间...
  • 我不知道谁投了票,对不起那个无法理解我的问题的人:P
  • Problem 不是你的问题不清楚。问题是您发布了您的要求,但您没有表现出任何努力自己首先解决问题。我不怀疑你试过,但如果你不表现出来......我们甚至可能认为这是来自帮助吸血鬼的另一个问题......

标签: c# asp.net datatable merge datatables


【解决方案1】:

你可以这样做

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

dt1.Columns.Add("id", typeof(Int32));
dt2.Columns.Add("Name", typeof(String));

DataRow dr = dt1.NewRow();
dr["id"] = 1;
dt1.Rows.Add(dr);

dr = dt1.NewRow();
dr["id"] = 2;
dt1.Rows.Add(dr);

dr = dt2.NewRow();
dr["name"] = "XXX";
dt2.Rows.Add(dr);

dr = dt2.NewRow();
dr["name"] = "YYY";
dt2.Rows.Add(dr);

DataTable dt3 = new DataTable();
dt3.Columns.Add("id", typeof(Int32));
dt3.Columns.Add("Name", typeof(String));

for (int i = 0; i < dt1.Rows.Count; i++)
{
    dr = dt3.NewRow();

    dr["id"] = dt1.Rows[i]["id"];
    dr["name"] = dt2.Rows[i]["name"];
    dt3.Rows.Add(dr);
}

【讨论】:

    【解决方案2】:

    如果要合并到 DataTables,可以执行以下操作:

            DataTable table1 = new DataTable("Items");
            DataColumn column1 = new DataColumn("id", typeof(System.Int32));
            table1.Columns.Add(column1);
    
            DataTable table2 = new DataTable("details");
            DataColumn column = new DataColumn("Name", typeof(System.String));
            table1.Columns.Add(column);
    
            table1.Merge(table2); //table1 will have 2 columns after executing this line
    

    【讨论】:

      猜你喜欢
      • 2015-04-25
      • 1970-01-01
      • 2015-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-10
      • 1970-01-01
      • 2020-12-04
      相关资源
      最近更新 更多