DataTable物件的行操作問題

2021-07-10 02:38:28 字數 725 閱讀 6211

datatable,datarow,dataclomun三種物件都是引用型別。

c#中值的傳遞方式分為值傳遞與引用傳遞。

1.複製datatable物件

//以下做法是錯誤的,dt1和dt2引用的是同乙個物件

datatable dt1 = new datatable();

datatable dt2 = dt1;

//以下做法是複製乙個表結構,即空表

datatable dt3 = dt1.clone();

//以下做法是複製一張表,包括資料

datatable dt4 = dt1.copy();

2.在兩個datatable物件之間複製datarow物件

//錯誤做法

dt2.rows.add(dt1.rows[0]);

//實現方法一

dt2.importrow(dt1.rows[0]);

//實現方法二

datarow dr = dt2.newrow();

dr.itemarray = dt1.rows[0].itemarray;

3.將乙個datatable物件中的某一行值插入到另乙個datatable中的指定位置

//先新增,然後複製資料,最後呼叫datatable.row的insertat方法即可

刪除datatable的行

delete 之後需要datatable.acceptechanges 方法確認完全刪除,因為delete 只是將相應列的狀態標誌為刪除,還可以通過datatable.rejectchanges 回滾,使該行取消刪除。所以如果要徹底刪除datarow,需要delete 和acceptechanges...

新增datatable的行和列

為資料集新增列 table.columns.add new datacolumn jystate typeof string 為資料集新增行 datarow dr dtnew.newrow gongzuodidian string.empty gongzuoxiangmu string.empty ...

獲取DataTable 刪除行的資料

在datatable 中通過 datatable dtgetchange dt.getchanges 獲取被修改的列,如果在dtgetchange某幾行的rowstate 為delete那麼,那麼在獲取被刪除行資料就會報錯,如 不能通過已刪除的行訪問該行的資訊 對於此問題有2種方式 1,呼叫dtge...