最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#中DataTable刪除行的方法分析

 更新時(shí)間:2014年09月18日 15:06:16   投稿:shichen2014  
這篇文章主要介紹了C#中DataTable刪除行的方法,包括了常見(jiàn)的幾種刪除方法的分析,需要的朋友可以參考下

本文實(shí)例講述了C#中DataTable刪除行的方法,分享給大家供大家參考之用。具體實(shí)現(xiàn)方法如下:

自己的刪除例子(drTemp是表,gvSummary是dev 的gridview。單擊右鍵點(diǎn)擊grid刪除):

1、dtTemp.Rows.RemoveAt(gvSummary.FocusedRowHandle);

2、dtTemp.Rows[gvSummary.FocusedRowHandle].Delete();  dtTemp.AcceptChanges();

在C#中,如果要?jiǎng)h除DataTable中的某一行,大致有以下幾種辦法:

1.如果只是想刪除datatable中的一行,可以用DataRow的delete,但是必須要?jiǎng)h除后讓DataTable知道,所以就要用到.AcceptChanges()方法,原因是這種刪除只是標(biāo)識(shí)性刪除,就像我們通常在數(shù)據(jù)庫(kù)中用到的IsDelete字段。

Delete()之后需要datatable.AccepteChanges()方法確認(rèn)完全刪除,因?yàn)镈elete()只是將相應(yīng)列的狀態(tài)標(biāo)志為刪除,還可以通過(guò)datatable.RejectChanges()回滾,使該行取消刪除。

2.徹底刪除就要用到datatable的.Rows.Remove(DataRow dr)方法,同理也只是刪除一行可以,如果要循環(huán)刪除請(qǐng)繼續(xù)往下看。

3.循環(huán)徹底刪除就要用.Rows.RemoveAt(int index)方法,所以如果你是foreach的愛(ài)好者,在此請(qǐng)你換換口味,還有如果你是for的i++的忠實(shí)fans也希望你能換個(gè)思維。先看一下上面程序的正向?qū)懛ǎㄥe(cuò)誤的,不可用)

for (int i = 0, j = dt.Rows.Count; i < j; i++)
{
  if (Convert.ToInt32(dt.Rows[i]["RowID"]) == RowID)
 dt.Rows.RemoveAt(i);
}

這個(gè)的錯(cuò)誤在于datatable的RemoveAt()會(huì)在刪除后更新dataTable的index,所以你要?jiǎng)h除的index可能已經(jīng)不是你的符合Convert.ToInt32(dt.Rows[i]["RowID"]) == RowID的index了,甚者還會(huì)拋出異常,說(shuō)你訪問(wèn)的index不存在。

還是要慎用datatable.Rows.RemoveAt(i),若要?jiǎng)h除多行,可以連續(xù)用Delete(),然后采用AccepteChanges()方法確認(rèn)刪除。

使用select方法:

先把要?jiǎng)h除的記錄標(biāo)記一下,然后select刪除行,實(shí)例代碼如下:

for (int i = 0; i < len; i++)
{
  if (((CheckBox)Rp.Items[i].FindControl("CB")).Checked)
  {
 dt.Rows[i]["C0"] = 1;//標(biāo)記要?jiǎng)h除的記錄
  }
}
foreach (DataRow r in dt.Select("c0=1"))
{
  r.Delete();
}
Rp.DataSource = dt;
Rp.DataBind();

感興趣的朋友可以測(cè)試運(yùn)行本文實(shí)例以加深理解,希望本文所述對(duì)大家C#程序設(shè)計(jì)的學(xué)習(xí)有所幫助。

相關(guān)文章

最新評(píng)論

惠来县| 崇州市| 安义县| 渑池县| 德钦县| 若尔盖县| 耿马| 浦东新区| 新平| 襄樊市| 油尖旺区| 铜鼓县| 潜江市| 葵青区| 信丰县| 兰溪市| 肥东县| 揭东县| 周口市| 盱眙县| 剑阁县| 威远县| 雅江县| 长沙县| 通化市| 普陀区| 西乌珠穆沁旗| 阳西县| 富宁县| 高安市| 淮阳县| 武胜县| 宝山区| 赞皇县| 咸阳市| 怀远县| 许昌县| 鲜城| 普陀区| 乌鲁木齐市| 无锡市|