如题,我有个dataTable table,现在我要把tempTable中的列添加进来?

解决方案 »

  1.   

    table1.Columns.Add(table2.Columns["列名"]);
      

  2.   

    herojams不知是否实践过,这样是不允许的,已经在table2中的列不允许添加到table1中:"Column 'date_time' already belongs to another DataTable."
      

  3.   

    to #3楼,Merge()相当于添加行,不是用于这方面的
      

  4.   

    foreach(DataColumn c in temptable.Columns)
    {
    DataColumn column = new DataColumn();
            column.ColumnName =c.ColumnName ;
            column.DataType=c.DataType;
    table.Columns.Add(column);
    }
      

  5.   

    DataTable dt3 = dt2.Clone();
    DataColumn dc = dt3.Columns[0];
    dt3.Columns.Remove(dc);
    dt.Columns.Add(dc);
      

  6.   

    to #5楼,你这样是把数据也添加到table中了吗,我其实想要的是数据
      

  7.   

    结构不同的话,只能自己写代码来合拼
    具体流程就是新建dt3,列名由dt1和dt2中取出
    用dt3的DataRow来取dt1和dt2的数据
      

  8.   

    我提供一个思路给你。       
     DataTable table = new DataTable();
            DataTable dt = new DataTable();//你的temptable        foreach (DataRow dr in dt.Rows)
            {
                table.Rows.Add(dr);
            }
    把temptable的行一行的读出来。然后在添加到你的table里边。当然如果两个表的列的字段类型不符合,那么你还要在foreach里边吧每个单元格的值转换。用dr得到单元格的方法是dr("列名")然后把转好的值在放到一个datarow里边,在添加table
      

  9.   

    可能我说的不太清楚,是这样的,假如我要查询A、B、C这三个项目的数据,每个项目的数据有3列:时间、数值、标志,分三次访问数据库,每次用一个datatable返回一个项目的数据,然后我合并成如下的表格形式时间  A数值 A标志  B数值 B标志  C数值 C标志实际上不是A、B、C三项,项目数是不定的