在C#中,如果要删除DataTable中的某一行,大约有以下几种办法:
1,使用DataTable.Rows.Remove(DataRow),或者DataTable.Rows.RemoveAt(index);可以直接删除行
标注一下:DataTable.Rows.Remove(DataRow) 当改行被删除以后,整个表的索引将重建,如果使用循环作为dataRow的index访问表格 则会出现错误,比如你要删除的数据没有删除完;这是因为 当你删除了第八行,i++之后 访问第九行数据,可是之前为第九行的数据由于删除了一行数据而为而索引为8 则访问漏掉了一行数据。
这里有我写的一个例子,大家可以看看:
- for (int i = 0; i < history.Rows.Count; i++)
- {
-
if (!((lngX < 135.549864 && lngX > 73.27112) && (latY > 17.714548 && latY < 52.971885)))
- {
- history.Rows.Remove(history.Rows[i]);
-
i--;
- }
- }
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#源码,可以实现指定删除某些行,多行可以任意选择, 测试可用
本文实例讲述了C#中DataTable删除行的方法,分享给大家供大家参考之用。具体实现方法如下: 自己的删除例子(drTemp是表,gvSummary是dev 的gridview。单击右键点击grid删除): 1、dtTemp.Rows.RemoveAt(gvSummary....
VB.NET的DataTable常用方法总结
我们经常会将数据源放在DataTable里面,但是有时候也需要移除不想要的行,下面的代码告诉你们 DataTable dts; DataRow[] foundRow;...以上代码简单实现了c# datatable 删除某一行的实现方法,希望对大家有所帮助!
Datatable删除行的Delete和Remove方法的区别介绍,需要的朋友可以参考一下
使用 DataTable就需要了解以下组件 DataColumn,描述数据表中的列。 DataRow,包含数据表中行的数据。 DataCell,包含数据表中单个单元格的数据。 PaginatedDataTable,它显示数据表中的部分数据,并提供对...
DataTable的常见使用,datetable的自定义方法,select的四种重载,项目中常用的筛选及排序。新datatable的赋值
使用Jquery的DataTable进行数据表处理非常方便,常遇到的一个问题就是删除一行后页面必须进行更新,下面与大家分享下使用Ajax的解决方法
函数JoinDataTable主要功能是,将两个DataTable变量通过联结的字段进行 Inner Join 或 Left Join 的联结,如果2个变量的联结字段相同,则删除其中1个字段,如果不同则保留。
datatable的一个简单实用,可以参照http://blog.csdn.net/u011563903 一篇博客的介绍
两个DataTable合并, 并保留合并状态。 如果合并后记录有变更,记录的状态为修改。 如果合并后记录是新增,记录状态为新增。 如果合并后听记录是现有记录,记录状态为删除。
Jquery Datatable editor,功能很强大,使用的人可能不多,但真的好用。目前新版(1.5.6)已经是加密版本,没有破解,就退而示其次,使用这个版本。 如果发现有问题,就在dataTables.editor.min.js文件把 var K4O={'...
使用Vs2008 linq DataTable+cookie 购物车主要功能: 把商品添加到购物车(订购) 删除购物车中已订购的商品、 修改购物车中某一件商品的订购数量 清空购物车 显示购物车中商品的清单及数量、价格 如果有什么问题...
代码如下: 代码如下: ///<summary> /// 将两个列不同的DataTable合并成一个新的DataTable ///</summary> ///”dt1″>源表</param> ///”dt2″>需要合并的表</param> ///”primaryKey”>需要排重列表(为空不排重)...
DataView dataList = saBatteryHelper.GetSaBatteryList(condition, "PAGE", Int32.Parse(string.IsNullOrEmpty(Imagebutton2.ToolTip) ? "0" : Imagebutton2.ToolTip), this.dg_detail.PageSize, ref total_page, ...
原因如下: Delete()之后需要datatable.AccepteChanges()方法确认完全删除,因为Delete()只是将相应列的状态标志为删除, 还可以通过datatable.RejectChanges()回滚,使该行取消删除。 如果要彻底删除datarow,需要...