我有个DataTable  table1中有多个列,其中有个列中有个字段"a"   然后我有另外一个DataTable  table2,其中有个列是"b"  我想实现把table1中的"a"列替换成table2中的"b"列,有没有牛人能帮我解决问题啊  谢谢了.

解决方案 »

  1.   


    dt1.Columns.Remove("a");
                    dt1.Columns.Add(dt2.Columns["b"]);
      

  2.   

    列“b”已属于另一个 DataTable。 报错了
      

  3.   


     laladeng其实再个办法我早试过了,不行啊
      

  4.   

    那个两个Table的行一样多吗?
    强烈建议楼主把问题描述清楚再说
    提问的人不痛苦,看问题的人痛苦啊
      

  5.   

    自己实现一个不就行了
    public void myAddColumn(DataTable source,DataTable dt,string sourceColumn,string objectColumn)
    {
    dt.Columns[objectColumn].ColumnName=sourceColumn;
    if(dt.Rows.Count<source.Rows.Count)
    {
    int addRowCount=source.Rows.Count-dt.Rows.Count;
    for(int n=0;n<addRowCount;n++)
    {
    DataRow dr=dt.NewRow();
    dt.Rows.Add(dr);
    }
    }
    for(int n=0;n<source.Rows.Count;n++)
    dt.Rows[n][sourceColumn]=source.Rows[n][sourceColumn];
    }
    myAddColumn(table2,"b",table1,"a");
      

  6.   

    DataTable Datatable1 = new DataTable(); 
     DataTable Datatable2 = new DataTable(); 
     Datatable1.Merge(Datatable2);
             Datatable1.Columns.Remove("a");
    //然后再删除掉无关的列
      

  7.   

    可以使用常见的两种方式,
    1.建立一个计算列
    http://www.microsoft.com/china/MSDN/library/data/dataAccess/ADONETEXP.mspx
    2.使用合并.DataTable.Merge或DataSet.Merge方法。