public DataTable UpdateDataTable(DataTable oldDt)
        {
            DataTable dtResult = new DataTable();
            //克隆表结构
            dtResult = oldDt.Clone();            foreach (DataRow row in oldDt.Rows)
            {
                DataRow rowNew = dtResult.NewRow();
                rowNew["I_Id "] = row["I_Id "];
                rowNew["I_P_I_Id "] = row["I_P_I_Id "];
                rowNew["I_Name "] = row["I_Name "];
                rowNew["UrlID"] = "yszlright.aspx?PKid=" + row["I_Id "];                dtResult.Rows.Add(rowNew);
            }            return dtResult;
        }传进来的dt是有数据的。。报错: 列“I_Id ”不属于表什么情况  急求答案datatableasp

解决方案 »

  1.   

    var newDataTable = dt.Clone();
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    newDataTable.Rows.Add(newDataTable.NewRow());
                    for (int j = 0; j < dt.Columns.Count; j++)
                        newDataTable.Rows[i][j] = dt.Rows[i][j];
                }
    return newDataTable ;
      

  2.   

    DataTable dtResult = oldDt.Copy();
    for(int i=0;i<dtResult.Rows.Count;i++)
        dtResult.Rows[i]["UrlID"]=oldDt.Rows[i]["对应列名"];
      

  3.   

    如果完全复制DataTable的话可以用dt.Copy()方法
      

  4.   

                DataTable dtResult = new DataTable();
                //克隆表结构
                  dtResult = oldDt.Clone();            for(int i=0;i<oldDt.Rows.Count;i++)
                {
                      dtResult.Rows.Add(oldDt.Rows[i]["id"].Tostring(),oldDt.Rows[i]["name"].Tostring());
                }
      

  5.   

    datatable newdt=new datatable ();
    newdt=oldDt;