• 两个Datatable合并


    两个结构一样的DataTable合并

     

    1.DataTable DataTable1 = new DataTable();   
    2.DataTable DataTable2 = new DataTable();   
    3.DataTable newDataTable = DataTable1.Clone();   
    4.  
    5.object[] obj = newobject[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 = newobject[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合并

    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.for( int i = 0 ;i < dt2.Columns.Count ;i ++ )   
    13. {   
    14.  dt3.Columns.Add( dt2.Columns[i].ColumnName ) ;   
    15. }   
    16.object[] obj = newobject[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.  for( int i = 0 ;i < dt2.Rows.Count ;i++ )   
    27.  {   
    28.   for( int 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.  for( int i = 0 ;i < dt2.Rows.Count - dt1.Rows.Count ;i ++ )   
    38.  {   
    39.   dr3 = dt3.NewRow() ;   
    40.   dt3.Rows.Add( dr3 ) ;   
    41.  }   
    42.  for( int i = 0 ;i < dt2.Rows.Count ;i++ )   
    43.  {   
    44.   for( int 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.} 
  • 相关阅读:
    eclipse中配置jbpm3.2插件
    传统分页功能的实现
    struts的status属性
    OA项目中的论坛模块设计与实现
    高并发
    Python下编写Windows自动化测试软件
    Windows GUI自动化测试技术的比较和展望
    Windows Automation API和自动化测试
    MSAA简介
    QQ截图时窗口自动识别的原理(WindowFromPoint, ChildWindowFromPoint, ChildWindowFromPointEx,RealChildWindowFromPoin
  • 原文地址:https://www.cnblogs.com/jhabb/p/2789261.html
Copyright © 2020-2023  润新知