DataTable添加行出現“該行已經屬於另一個表”的錯誤!


下面是簡單編寫的一個例子:        

            DataTable dt1 = new DataTable();

            DataTable dt2 = new DataTable();

            //為dt1創建結構

            DataColumn pName = new DataColumn("名稱");
            pName.DataType = System.Type.GetType("System.String");
            DataColumn pCount = new DataColumn("數量");
            pCount.DataType = System.Type.GetType("System.Int32");
            dt1.Columns.Add(pName);

            dt1.Columns.Add(pCount);
            //添加測試用數據

            for (int i = 0; i < 10; i++)
            {
                DataRow dr = dt1.NewRow();
                dr[pName] = "Name";
                dr[pCount] = i;
                dt1.Rows.Add(dr);
            }
            gridControl.DataSource = dt1;

            //將dt1的結構克隆給dt2
            dt2 = dt1.Clone();
            for (int i = 0; i < 2; i++)
            {
                DataRow dr = dt2.NewRow();
                dr = dt1.Rows[i];
                //此行提示該行已經屬於另一個表
                //dt2.Rows.Add(dr);
                //換成這種寫法是正確的或者可以直接使用dt2.Rows.Add(dt1.Rows[i].ItemArray);
                dt2.Rows.Add(dr.ItemArray);
            }
            gridControl.DataSource = dt2;
            gridControl.RefreshDataSource();

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM