两个结构一样的DataTable合并
- DataTable DataTable1 = new DataTable();
- DataTable DataTable2 = new DataTable();
- DataTable newDataTable = DataTable1.Clone();
- object[] obj = new object[newDataTable.Columns.Count];
- for (int i = 0; i < DataTable1.Rows.Count; i++)
- {
- DataTable1.Rows[i].ItemArray.CopyTo(obj,0);
- newDataTable.Rows.Add(obj);
- }
- for (int i = 0; i < DataTable2.Rows.Count; i++)
- {
- DataTable2.Rows[i].ItemArray.CopyTo(obj,0);
- newDataTable.Rows.Add(obj);
- }
- //或者
- DataTable DataTable1 = new DataTable();
- DataTable DataTable2 = new DataTable();
- object[] obj = new object[DataTable1 .Columns.Count];
- for (int i = 0; i < DataTable2.Rows.Count; i++)
- {
- DataTable2.Rows[i].ItemArray.CopyTo(obj,0);
- DataTable1.Rows.Add(obj);
- }
两个结构不同的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.youkuaiyun.com%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-%20优快云%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.youkuaiyun.com%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; ">
- /// <summary>
- /// 将两个列不同的DataTable合并成一个新的DataTable
- /// </summary>
- /// <param name="dt1">Table表1</param>
- /// <param name="dt2">Table表2</param>
- /// <param name="DTName">合并后新的表名</param>
- /// <returns></returns>
- private DataTable UniteDataTable( DataTable dt1 ,DataTable dt2 ,string DTName)
- {
- DataTable dt3 = dt1.Clone();
- for( int i = 0 ;i < dt2.Columns.Count ;i ++ )
- {
- dt3.Columns.Add( dt2.Columns[i].ColumnName ) ;
- }
- object[] obj = new object[dt3.Columns.Count];
- for (int i = 0; i < dt1.Rows.Count; i++)
- {
- dt1.Rows[i].ItemArray.CopyTo(obj,0);
- dt3.Rows.Add(obj);
- }
- if( dt1.Rows.Count >= dt2.Rows.Count )
- {
- for( int i = 0 ;i < dt2.Rows.Count ;i++ )
- {
- for( int j = 0 ;j < dt2.Columns.Count ;j ++ )
- {
- dt3.Rows[i][j+dt1.Columns.Count] = dt2.Rows[i][j].ToString() ;
- }
- }
- }
- else
- {
- DataRow dr3 ;
- for( int i = 0 ;i < dt2.Rows.Count - dt1.Rows.Count ;i ++ )
- {
- dr3 = dt3.NewRow() ;
- dt3.Rows.Add( dr3 ) ;
- }
- for( int i = 0 ;i < dt2.Rows.Count ;i++ )
- {
- for( int j = 0 ;j < dt2.Columns.Count ;j ++ )
- {
- dt3.Rows[i][j+dt1.Columns.Count] = dt2.Rows[i][j].ToString() ;
- }
- }
- }
- dt3.TableName = DTName ;
- return dt3 ;
- }