2010-11-15 57 views
1

有一條命令刪除數據表中的行Delete();數據錶行刪除問題

但是,這僅僅是刪除它不向上移動下面的行像載體或數組列表。

例如,數據表中有3行。

行1,數據1

行2,數據2

第3行,數據3.

如果刪除行2,它會像

行1,數據1

行2,RowStatus =已刪除

行3,數據3

我該如何向上移動第3行到第2行?

我有一種方法,但它不是正確的。

我一個是創建一個新的數據表,克隆,並通過檢查每一行的行狀態的每一行移動到該表。然後清除實際的數據表,並從臨時數據表中複製所有數據。

必須有更好的辦法..任何人?

回答

7

你必須調用AcceptChanges在數據表提交所做的更改。這樣做將刪除標記爲已刪除的行。 (隨着到DataTable所做的任何其他更改)

0

是的,你必須使用DataTable.AcceptChages()方法以反映更改到DataTable。

-1

爲什麼你想向上移動?原諒我的好奇心;-)

+0

是的,我是。我懂了。 – william 2010-11-16 00:34:35

1

Delete方法標記數據庫中的刪除行,並沒有實際從數據表中刪除它。 DataTable.Rows.Remove方法將以您想要的方式從內存中的DataTable中刪除該行。