datatable 合并

两个结构一样的DataTable合并

  1. DataTable DataTable1 = new DataTable();   
  2. DataTable DataTable2 = new DataTable();   
  3. DataTable newDataTable = DataTable1.Clone();   
  4.   
  5. object[] obj = new object[newDataTable.Columns.Count];   
  6. for (int i = 0; i < DataTable1.Rows.Count; i++)   
  7. {   
  8.     DataTable1.Rows[i].ItemArray.CopyTo(obj,0);   
  9.     newDataTable.Rows.Add(obj);   
  10. }   
  11. for (int i = 0; i < DataTable2.Rows.Count; i++)   
  12. {   
  13.     DataTable2.Rows[i].ItemArray.CopyTo(obj,0);   
  14.     newDataTable.Rows.Add(obj);   
  15. }  
  16. //或者  
  17. DataTable DataTable1 = new DataTable();   
  18. DataTable DataTable2 = new DataTable();   
  19.   
  20. object[] obj = new object[DataTable1 .Columns.Count];   
  21. for (int i = 0; i < DataTable2.Rows.Count; i++)   
  22. {   
  23.     DataTable2.Rows[i].ItemArray.CopyTo(obj,0);   
  24.     DataTable1.Rows.Add(obj);   
  25. }  

两个结构不同的DataTable合并  name="alimamaf0.9934286421630532" id="alimamaf0.9934286421630532" border="0" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" src="http://z.alimama.com/alimama.php?i=mm_10249644_1605763_5018464&w=104&h=22&re=1280x1024&sz=tl_1x1_8&cg=663b1291fed15aaa99d82bbf171384e7&prk=83927744&cas=prk&cah=996&caw=1280&ccd=32&ctz=8&chl=1&cja=1&cpl=13&cmm=59&cf=10.3&dx=1&ac=8333&cbh=813&cbw=1280&iss=0&refpos=,null,null&t=f&tc=313131&bgc=FFFFFF&bdc=FFFFFF&tlfs=12&pf=1&p4p_ai=1&sx=594&sy=767&u=http%3A%2F%2Fblog.csdn.net%2Fgisfarmer%2Farticle%2Fdetails%2F3900023&k=datatable%E7%9A%84%E5%90%88%E5%B9%B6&tt=%E5%A6%82%E4%BD%95%E5%90%88%E5%B9%B6DataTable%20-%20%E8%80%81%E9%AA%86%E9%A9%BC%E7%A9%BA%E9%97%B4%E7%AB%99%20-%20CSDN%E5%8D%9A%E5%AE%A2&r=http%3A%2F%2Fwww.google.com.hk%2Furl%3Fsa%3Dt%26source%3Dweb%26cd%3D1%26ved%3D0CBgQFjAA%26url%3Dhttp%253A%252F%252Fblog.csdn.net%252Fgisfarmer%252Farticle%252Fdetails%252F3900023%26rct%3Dj%26q%3Ddatatable%25E7%259A%2584%25E5%2590%2588%25E5%25B9%25B6%26ei%3DWtAoTs7kK6mJmQWIioWGDA%26usg%3DAFQjCNEbf-XADX8GapjpPcNt56isHbrTJA%26cad%3Drjt&fu=-1" style="width: 104px; height: 22px; ">

  1. /// <summary>   
  2. /// 将两个列不同的DataTable合并成一个新的DataTable   
  3. /// </summary>   
  4. /// <param name="dt1">Table表1</param>   
  5. /// <param name="dt2">Table表2</param>   
  6. /// <param name="DTName">合并后新的表名</param>   
  7. /// <returns></returns>  
  8.   
  9. private DataTable UniteDataTable( DataTable dt1 ,DataTable dt2 ,string DTName)   
  10. {    
  11.  DataTable dt3 = dt1.Clone();   
  12.  forint i = 0 ;i < dt2.Columns.Count ;i ++ )   
  13.  {   
  14.   dt3.Columns.Add( dt2.Columns[i].ColumnName ) ;   
  15.  }   
  16.  object[] obj = new object[dt3.Columns.Count];   
  17.     
  18.  for (int i = 0; i < dt1.Rows.Count; i++)   
  19.  {   
  20.   dt1.Rows[i].ItemArray.CopyTo(obj,0);   
  21.   dt3.Rows.Add(obj);   
  22.  }   
  23.        
  24.  if( dt1.Rows.Count >= dt2.Rows.Count )   
  25.  {   
  26.   forint i = 0 ;i < dt2.Rows.Count ;i++ )   
  27.   {   
  28.    forint j = 0 ;j < dt2.Columns.Count ;j ++ )   
  29.    {   
  30.     dt3.Rows[i][j+dt1.Columns.Count] = dt2.Rows[i][j].ToString() ;   
  31.    }   
  32.   }   
  33.  }   
  34.  else   
  35.  {   
  36.   DataRow dr3 ;   
  37.   forint i = 0 ;i < dt2.Rows.Count - dt1.Rows.Count ;i ++ )   
  38.   {   
  39.    dr3 = dt3.NewRow() ;   
  40.    dt3.Rows.Add( dr3 ) ;   
  41.   }   
  42.   forint i = 0 ;i < dt2.Rows.Count ;i++ )   
  43.   {   
  44.    forint j = 0 ;j < dt2.Columns.Count ;j ++ )   
  45.    {   
  46.     dt3.Rows[i][j+dt1.Columns.Count] = dt2.Rows[i][j].ToString() ;   
  47.    }   
  48.   }   
  49.  }   
  50.  dt3.TableName = DTName ;   
  51.  return dt3 ;   
  52. }   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值