日期:2014-05-19  浏览次数:21188 次

操作datatable时候出了点问题,大家帮忙看看
DataTable   dt   =   new   DataTable();                
                DataTable   newtable   =   new   DataTable();

                DataTableReader   dtdr   =   dt.CreateDataReader();
                int   k;

                for   (k   =   0;   k   <=   datasize;   k++)
                {
                        while   (dtdr.Read())
                        {
                                newtable.Rows.Add(dt.Rows[k]);
                        }
                        k   +=   datasize;
                }

                DataList3.DataSource   =   newtable.DefaultView;
                DataList3.DataBind();

提示:This   row   already   belongs   to   another   table.

大家看看哪里的问题

------解决方案--------------------
newtable.Rows.Add(dt.Rows[k]); 这个错了
用ImportRow 这个方法
------解决方案--------------------
newtable.Rows.Add(dt.Rows[k]);
这个不对的,不能直接加上,这行属于另外一个表了,你需要重新new一个Row,
newRow.ItemArray = dt.Rows[k].itemArray;然后加上这个 newRow 就可以了!