`
李东龙
  • 浏览: 2885 次
  • 性别: Icon_minigender_1
  • 来自: 河北
最近访客 更多访客>>
社区版块
存档分类
最新评论

DataTable 删除

阅读更多
在C#中,如果要删除DataTable中的某一行,大约有以下几种办法:

1,使用DataTable.Rows.Remove(DataRow),或者DataTable.Rows.RemoveAt(index);可以直接删除行
标注一下:DataTable.Rows.Remove(DataRow) 当改行被删除以后,整个表的索引将重建,如果使用循环作为dataRow的index访问表格 则会出现错误,比如你要删除的数据没有删除完;这是因为 当你删除了第八行,i++之后 访问第九行数据,可是之前为第九行的数据由于删除了一行数据而为而索引为8 则访问漏掉了一行数据。
这里有我写的一个例子,大家可以看看:
C#代码 复制代码 收藏代码
  1. for (int i = 0; i < history.Rows.Count; i++)//注意这里一定要用Datatable的Rows.count 作为循环条件终止的值,而不能用 一个定值,因为每当删除一条数据,表的行数会发生变化,访问的下标则不会和未删除之前的表一样。   
  2. {   
  3.     if (!((lngX < 135.549864 && lngX > 73.27112) && (latY > 17.714548 && latY < 52.971885)))   
  4.     {   
  5.         history.Rows.Remove(history.Rows[i]);   
  6.         i--;//删除之后原来索引为i+1 处的行索引会因为删去一行而变为i ,i-- 确保此条数据不被漏掉   
  7.     }   
  8. }  
            for (int i = 0; i < history.Rows.Count; i++)//注意这里一定要用Datatable的Rows.count 作为循环条件终止的值,而不能用 一个定值,因为每当删除一条数据,表的行数会发生变化,访问的下标则不会和未删除之前的表一样。
            {
                if (!((lngX < 135.549864 && lngX > 73.27112) && (latY > 17.714548 && latY < 52.971885)))
                {
                    history.Rows.Remove(history.Rows[i]);
                    i--;//删除之后原来索引为i+1 处的行索引会因为删去一行而变为i ,i-- 确保此条数据不被漏掉
                }
            }



2,datatable.Rows[i].Delete()。Delete()之后需要datatable.AccepteChanges()方法确认完全删除,因为Delete()只是将相应列的状态标志为删除,还可以通过datatable.RejectChanges()回滚,使该行取消删除。
分享到:
评论

相关推荐

    C# datatable删除多行

    网上关于C# datatable删除多行的博文很多,但是没有一个能解决问题的,我这个C#源码,可以实现指定删除某些行,多行可以任意选择, 测试可用

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

    本文实例讲述了C#中DataTable删除行的方法,分享给大家供大家参考之用。具体实现方法如下: 自己的删除例子(drTemp是表,gvSummary是dev 的gridview。单击右键点击grid删除): 1、dtTemp.Rows.RemoveAt(gvSummary....

    VB.NET的DataTable常用方法总结

    VB.NET的DataTable常用方法总结

    C#在DataTable中根据条件删除某一行的实现方法

    我们经常会将数据源放在DataTable里面,但是有时候也需要移除不想要的行,下面的代码告诉你们 DataTable dts; DataRow[] foundRow;...以上代码简单实现了c# datatable 删除某一行的实现方法,希望对大家有所帮助!

    Datatable删除行的Delete和Remove方法的区别介绍

    Datatable删除行的Delete和Remove方法的区别介绍,需要的朋友可以参考一下

    Flutter DataTable数据表

    使用 DataTable就需要了解以下组件 DataColumn,描述数据表中的列。 DataRow,包含数据表中行的数据。 DataCell,包含数据表中单个单元格的数据。 PaginatedDataTable,它显示数据表中的部分数据,并提供对...

    DataTable的常见使用Demo

    DataTable的常见使用,datetable的自定义方法,select的四种重载,项目中常用的筛选及排序。新datatable的赋值

    JQuery DataTable删除行后的页面更新利用Ajax解决

    使用Jquery的DataTable进行数据表处理非常方便,常遇到的一个问题就是删除一行后页面必须进行更新,下面与大家分享下使用Ajax的解决方法

    .net C# DataTable联结函数

    函数JoinDataTable主要功能是,将两个DataTable变量通过联结的字段进行 Inner Join 或 Left Join 的联结,如果2个变量的联结字段相同,则删除其中1个字段,如果不同则保留。

    datatable的例子使用--增加删除修改查询

    datatable的一个简单实用,可以参照http://blog.csdn.net/u011563903 一篇博客的介绍

    两个DataTable合并, 并保留合并状态

    两个DataTable合并, 并保留合并状态。 如果合并后记录有变更,记录的状态为修改。 如果合并后记录是新增,记录状态为新增。 如果合并后听记录是现有记录,记录状态为删除。

    Jquery Datatable editor 1.5.4破解版本

    Jquery Datatable editor,功能很强大,使用的人可能不多,但真的好用。目前新版(1.5.6)已经是加密版本,没有破解,就退而示其次,使用这个版本。 如果发现有问题,就在dataTables.editor.min.js文件把 var K4O={'...

    使用DataTable+cookie做的购物车

    使用Vs2008 linq DataTable+cookie 购物车主要功能: 把商品添加到购物车(订购) 删除购物车中已订购的商品、 修改购物车中某一件商品的订购数量 清空购物车 显示购物车中商品的清单及数量、价格 如果有什么问题...

    sqlserver合并DataTable并排除重复数据的通用方法分享

    代码如下: 代码如下: ///&lt;summary&gt; /// 将两个列不同的DataTable合并成一个新的DataTable ///&lt;/summary&gt; ///”dt1″&gt;源表&lt;/param&gt; ///”dt2″&gt;需要合并的表&lt;/param&gt; ///”primaryKey”&gt;需要排重列表(为空不排重)...

    DataTable 导出excel 更新列名或者删除部分列.pdf

    DataView dataList = saBatteryHelper.GetSaBatteryList(condition, "PAGE", Int32.Parse(string.IsNullOrEmpty(Imagebutton2.ToolTip) ? "0" : Imagebutton2.ToolTip), this.dg_detail.PageSize, ref total_page, ...

    C# datatable 不能通过已删除的行访问该行的信息处理方法

    原因如下: Delete()之后需要datatable.AccepteChanges()方法确认完全删除,因为Delete()只是将相应列的状态标志为删除, 还可以通过datatable.RejectChanges()回滚,使该行取消删除。 如果要彻底删除datarow,需要...

Global site tag (gtag.js) - Google Analytics