Datatable db=null;
        DataTable dt = ds.Tables[0];
        ////两个datatable进行合并
         db = dt.Copy();
        DataRow[] foundRows = dt.Select();
        for (int i = 0; i < foundRows.Length;i++)
        {
            db.ImportRow(foundRows[i]);
        }

  1. //两个结构一样的DT合并
  2. DataTable DataTable1 = new DataTable();
  3. DataTable DataTable2 = new DataTable();
  4. DataTable newDataTable = DataTable1.Clone();
  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. //两个结构不同的DT合并
  17. /// <summary>
  18. /// 将两个列不同的DataTable合并成一个新的DataTable
  19. /// </summary>
  20. /// <param name="dt1">表1</param>
  21. /// <param name="dt2">表2</param>
  22. /// <param name="DTName">合并后新的表名</param>
  23. /// <returns></returns>
  24. private DataTable UniteDataTable( DataTable dt1 ,DataTable dt2 ,string DTName)
  25. {
  26. DataTable dt3 = dt1.Clone();
  27. for( int i = 0 ;i < dt2.Columns.Count ;i ++ )
  28. {
  29. dt3.Columns.Add( dt2.Columns[i].ColumnName ) ;
  30. }
  31. object[] obj = new object[dt3.Columns.Count];
  32. for (int i = 0; i < dt1.Rows.Count; i++)
  33. {
  34. dt1.Rows[i].ItemArray.CopyTo(obj,0);
  35. dt3.Rows.Add(obj);
  36. }
  37. if( dt1.Rows.Count >= dt2.Rows.Count )
  38. {
  39. for( int i = 0 ;i < dt2.Rows.Count ;i++ )
  40. {
  41. for( int j = 0 ;j < dt2.Columns.Count ;j ++ )
  42. {
  43. dt3.Rows[i][j+dt1.Columns.Count] = dt2.Rows[i][j].ToString() ;
  44. }
  45. }
  46. }
  47. else
  48. {
  49. DataRow dr3 ;
  50. for( int i = 0 ;i < dt2.Rows.Count - dt1.Rows.Count ;i ++ )
  51. {
  52. dr3 = dt3.NewRow() ;
  53. dt3.Rows.Add( dr3 ) ;
  54. }
  55. for( int i = 0 ;i < dt2.Rows.Count ;i++ )
  56. {
  57. for( int j = 0 ;j < dt2.Columns.Count ;j ++ )
  58. {
  59. dt3.Rows[i][j+dt1.Columns.Count] = dt2.Rows[i][j].ToString() ;
  60. }
  61. }
  62. }
  63. dt3.TableName = DTName ; //设置DT的名字
  64. return dt3 ;
  65. }
  66. //多个 结构相同的DataTable合并
  67. public DataTable GetAllEntrysDataTable()
  68. {
  69. DataTable newDataTable = GetEntrysDataTable(0).Clone();
  70. object[] obj = new object[newDataTable.Columns.Count];
  71. for (int i = 0; i < entryGroups.GetEntryGroupCount(); i++)
  72. {
  73. for (int j = 0; j < GetEntrysDataTable(i).Rows.Count; j++)
  74. {
  75. GetEntrysDataTable(i).Rows[j].ItemArray.CopyTo(obj, 0);
  76. newDataTable.Rows.Add(obj);
  77. }
  78. }
  79. return newDataTable;
  80. }

转载于:https://www.cnblogs.com/Jack_G/archive/2011/09/13/2174926.html

转载CSDN(educast):c# 对两个Datatable的结构相同进行合并相关推荐

  1. 如何转载CSDN的博客

    在参考"如何快速转载CSDN中的博客"后,由于自己不懂html以及markdown相关知识,所以花了一些时间来弄明白怎么转载博客,以下为转载CSDN博客步骤和一些知识小笔记. 参考 ...

  2. 两个datatable的比较

    /// <summary>     /// 两个datatable的比较     /// </summary>     /// <param name="obj ...

  3. 怎样转载csdn文章

    这里写自定义目录标题 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中.居左.居右 ...

  4. 转载CSDN博客步骤

    在参考"如何快速转载CSDN中的博客"后,由于自己不懂html以及markdown相关知识,所以花了一些时间来弄明白怎么转载博客,以下为转载CSDN博客步骤和一些知识小笔记. 参考 ...

  5. [转载]CSDN怎么转载别人的博客

    在参考"如何快速转载CSDN中的博客"后,由于自己不懂html以及markdown相关知识,所以花了一些时间来弄明白怎么转载博客,以下为转载CSDN博客步骤和一些知识小笔记. 参考 ...

  6. Html方式转载CSDN博客 CSDN博客转换成Markdown文件

    文章目录 内容简介 Html方式转载CSDN博客 保存CSDN博客的Markdown文件 内容简介 主要分为两个部分 第一部分:将CSDN博客的html源码进行复制并转发到自己的blog上(大家记得发 ...

  7. 转载:如何快速转载CSDN及博客园中的博客

    原文:https://blog.csdn.net/qq_29796317/article/details/60975207 如何快速转载CSDN及博客园中的博客 前言   对于喜欢逛CSDN的人来说, ...

  8. 如何快速转载CSDN博客(详细)

    转载CSDN博客步骤: 1.CSDN博客页面右键,点击[检查] 2.点击检查后,页面右侧出现html代码,如下图 3.点击写博客.点击左侧栏[博客设置] 4.选择MarkDown编辑器,保存 5.重新 ...

  9. CSDN Markdown 显示连续两个中划线 --

    CSDN Markdown 显示连续两个中划线 -- CSDN Markdown 显示连续两个中划线 --,需要在中划线前添加空格,或者在两个中划线中间使用零宽不连字 ‌. ‌ 为零宽不连字 (Zer ...

最新文章

  1. 昨晚,我们的消费者居然停止消费kafka集群数据了
  2. CISCO路由器安全配置
  3. LNMP服务跨省迁移的解决方案
  4. 2019.01.22【NOIP普及组】模拟赛C组总结
  5. 张正友标定法公式详细推导
  6. 【普通の随笔】3.26
  7. error: passing ‘const AppJniCommand’ as ‘this’ argument discards qualifiers [-fpermissive]
  8. python数据结构之匿名函数lambda
  9. Tomcat 弱密码爆破 漏洞复现
  10. Java实现:四六级真题批量PDF文件英文单词词频分析、排序
  11. Windows 11 找不到文件C:\ProgramData\Package Cache\{xxxx}xxx.exe。请确定文件名是否正确后,再试一次。
  12. sizeof 知多少
  13. Day13-寻觅踪迹
  14. 《金融科技(FinTech)发展规划(2019-2021年)》梳理
  15. 《少年的你》首映 易烊千玺坦言哭戏最有挑战
  16. 消息中间件的应用——谈谈秒杀(转)
  17. 一流管理者,必须具备的4项关键能力
  18. ffmpeg编译选项汇总
  19. fre740变频器参数_三菱(F700)FR-F740系列变频器常用参数
  20. 机器学习路程——k近邻(KNN)算法(python实现)

热门文章

  1. 敏捷个人俱乐部2012年2月线下活动:活出我的最好生活
  2. python中time模块常用功能
  3. Unity Shader基本例子
  4. 【php】函数重载问题
  5. VINS紧耦合优化公式及代码解析
  6. Vware Workstation pro 12|虚拟机
  7. O(n)线性构造后缀树详解(一)
  8. wpf控件开发基础(1)
  9. Web开发框架 SSH 简介
  10. 树组件说明书java_java树组件