如何将一个DataTable的列值加到另外一个DataTable的列中?
就是给datatable增加一个列,这个列的数据来源是另外一个datatable
两个datatable的表结构是一样的

解决方案 »

  1.   

    要复制1个datatable结构,用DataTable的Clone()方法即可。
      

  2.   

    不是复制结构
    是将第二个datatable的一个列放到第一个datatable的新加列里
    比如
    datatable1
    id   name
    1     a
    2     b
    3     c
    datatable2
    id    name
    4     e
    5     f
    6     g想得得到这样的结果id   name  name2
    1     a     e
    2     b     f
    3     c     g
      

  3.   

    给table1加例dd
    for(int i=0;i<tab2.rows.count; i++)
    {
     table1.row[i]["dd"] = tab2.row[i][""].tostring();
    }
      

  4.   

    实现了:)
    SqlConnection sqlcon = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]);
    SqlDataAdapter da = new SqlDataAdapter("select top 5 adid,adprice,adamount,clientname from ad_list order by adid desc",sqlcon);
    DataSet ds = new DataSet();
    da.Fill(ds,"tables");
    DataTable dt=ds.Tables["tables"];

    sc.Open();
    DataSet ds2=sc.GetDataset("select top 5 tradename from ad_trade","test");
    DataTable dt1=ds2.Tables["test"];
    Response.Write(dt.Rows.Count.ToString()); DataTable dt3=new DataTable();
    dt3.Columns.Add("c1", typeof(string));
    dt3.Columns.Add("c2", typeof(string));
    dt3.Columns.Add("c3", typeof(string));
    dt3.Columns.Add("c4", typeof(string));
    dt3.Columns.Add("c5", typeof(string));
    DataRow dr;
    for(int i=1;i<dt.Rows.Count;i++)
    {
    dr = dt3.NewRow();
    dr["c1"]=dt1.Rows[i]["tradename"].ToString();
    dr["c2"]=dt.Rows[i]["adid"].ToString();
    dr["c3"]=dt.Rows[i]["clientname"].ToString();
    dr["c4"]=dt.Rows[i]["adprice"].ToString();
    dr["c5"]=Convert.ToDouble(dt.Rows[i]["adid"].ToString())+Convert.ToDouble(dt.Rows[i]["adprice"].ToString());
    dt3.Rows.Add(dr);
    }
    myDg.DataSource=dt3.DefaultView;
    myDg.DataBind();