批量删除问题

fantasykakaxi 2016-04-20 10:40:17

ArrayList list = new ArrayList();
for (int i = 0; i < gvCHARGE_Detail.RowCount; i++)
{
if (gvCHARGE_Detail.GetDataRow(i)["CHECKDETAILID"] != null && gvCHARGE_Detail.GetDataRow(i)["CHECKDETAILID"].ToString() == "1")
{
list.Add(i);
}
}
foreach (int num in list)
{
gvCHARGE_Detail.DeleteRow(num);
}
_dtCFS_ChargeDetail.AcceptChanges();



那里写错了 为什么我选6的时候 删除 是 点一下删除3条 再点一下删除2条 再点一下删除1条

理论上是 点击一下 全删除
...全文
82 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
tcmakebest 2016-04-20
  • 打赏
  • 举报
回复
我晕
for(int i = list.Count-1; i>=0;i--)
{
  gvCHARGE_Detail.DeleteRow(list[i]);
}
fantasykakaxi 2016-04-20
  • 打赏
  • 举报
回复
引用 7 楼 shingoscar 的回复:
[quote=引用 6 楼 fantasykakaxi 的回复:] [quote=引用 4 楼 shingoscar 的回复:] 从list的最后一行还是删除
是不是改成这样 for(int i = list.Count-1; i>=0;i--) { gvCHARGE_Detail.DeleteRow(i); }[/quote] 是[/quote] 可是又遇到问题了 当我选中三个的时候 程序却把没选中的删掉了
fantasykakaxi 2016-04-20
  • 打赏
  • 举报
回复
引用 1 楼 tcmakebest 的回复:
请按顺序倒着删除, 如果顺着删除第0条后,原来的第1条变成第0条,就删除不到了.
谢谢大神 成功了 很开心
Poopaye 2016-04-20
  • 打赏
  • 举报
回复
从list的最后一行还是删除
fantasykakaxi 2016-04-20
  • 打赏
  • 举报
回复
引用 4 楼 shingoscar 的回复:
从list的最后一行还是删除
是不是改成这样 for(int i = list.Count-1; i>=0;i--) { gvCHARGE_Detail.DeleteRow(i); }
fantasykakaxi 2016-04-20
  • 打赏
  • 举报
回复
引用 2 楼 fantasykakaxi 的回复:
[quote=引用 1 楼 tcmakebest 的回复:] 请按顺序倒着删除, 如果顺着删除第0条后,原来的第1条变成第0条,就删除不到了.
foreach这么改 对么 for(int i = list.Count-1; i>=0;i--) { gvCHARGE_Detail.DeleteRow(i); }
fantasykakaxi 2016-04-20
  • 打赏
  • 举报
回复
引用 7 楼 shingoscar 的回复:
[quote=引用 6 楼 fantasykakaxi 的回复:] [quote=引用 4 楼 shingoscar 的回复:] 从list的最后一行还是删除
是不是改成这样 for(int i = list.Count-1; i>=0;i--) { gvCHARGE_Detail.DeleteRow(i); }[/quote] 是[/quote] 谢谢大神
Poopaye 2016-04-20
  • 打赏
  • 举报
回复
删除的时候要倒着删
Poopaye 2016-04-20
  • 打赏
  • 举报
回复
引用 6 楼 fantasykakaxi 的回复:
[quote=引用 4 楼 shingoscar 的回复:] 从list的最后一行还是删除
是不是改成这样 for(int i = list.Count-1; i>=0;i--) { gvCHARGE_Detail.DeleteRow(i); }[/quote] 是
fantasykakaxi 2016-04-20
  • 打赏
  • 举报
回复
引用 1 楼 tcmakebest 的回复:
请按顺序倒着删除, 如果顺着删除第0条后,原来的第1条变成第0条,就删除不到了.
怎么倒着删除 求大神指点
tcmakebest 2016-04-20
  • 打赏
  • 举报
回复
请按顺序倒着删除, 如果顺着删除第0条后,原来的第1条变成第0条,就删除不到了.
fantasykakaxi 2016-04-20
  • 打赏
  • 举报
回复
引用 11 楼 tcmakebest 的回复:
我晕
for(int i = list.Count-1; i>=0;i--)
{
  gvCHARGE_Detail.DeleteRow(list[i]);
}
改好了 第一个循环 写成倒着就好了
fantasykakaxi 2016-04-20
  • 打赏
  • 举报
回复
引用 11 楼 tcmakebest 的回复:
我晕
for(int i = list.Count-1; i>=0;i--)
{
  gvCHARGE_Detail.DeleteRow(list[i]);
}
list[i]不能直接写到后面当参数 还有 改成这样后gvCHARGE_Detail.DeleteRow(i);全选删除没问题 多选就有问题了

111,097

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧