头好晕啊,几个结构一样的DataTable怎么合并到一起啊?dt1,dt2,都是一样的结构,现在想把他们的数据都合并到dt1中去,应该怎么弄的?

解决方案 »

  1.   

    思路如下:
        DataRow myRow = dt1.NewRow();
                    for (int i = 0; i < dt2.Rows.Count; i++)
                    {
                        myRow= dt2.Rows[i];
                        dt1.Rows.Add(myRow);
                    }
    //如果不能一行一行賦值,可多加一重循環,行內按字段賦值.
      

  2.   

    DataTable dt = new DataTable("Table1");
    dt.Columns.Add("field1");
    dt.Columns.Add("field2");
    dt.Rows.Add(new object[]{1,"aaaaaa"});
    dt.Rows.Add(new object[]{2,"bbbbbb"});
    dt.AcceptChanges();DataTable dt2 = new DataTable("Table1");//被合并的DataTable必须跟原DataTable具有相同的名称
    dt2.Columns.Add("field1");
    dt2.Columns.Add("field2");
    dt2.Rows.Add(new object[]{3,"cccccccc"});
    dt2.Rows.Add(new object[]{4,"dddddddd"});
    dt2.AcceptChanges();DataSet ds = new DataSet();
    ds.Tables.Add(dt);ds.Merge(dt2);
    ds.AcceptChanges();this.DataGrid1.DataSource = ds.Tables[0];
    this.DataGrid1.DataBind();
      

  3.   

    通过上面的代码,dt2中的两行数据就合并到了dt中;在.net 1.1中,只有DataSet提供Merge方法;而在.net 2.0中,可以直接使用DataTable.Merge()