如何删除listview中选中的行?

tckoo 2009-04-10 10:42:28
如题,我在listview中显示了数据库Employee中表Information中的数据,表中分别有编号、姓名、性别3列,现在我要选中listview中显示的某一行记录,然后右键删除此行在listview中的显示,同时我还需要在数据库中删除这行记录,请问我该如何实现呢?
...全文
1960 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
ksq_2010 2010-03-30
  • 打赏
  • 举报
回复
for (int i = this.listView1.SelectedItems.Count - 1; i >= 0; i--)
{
string strcmd = "delete from Dict_ClothesPrice where ClothesNo = " +listView1.SelectedItems[0].SubItems[0].Text.ToString() + " ";
con.Open();
SqlCommand cmd = new SqlCommand(strcmd, con);
ListViewItem item = this.listView1.SelectedItems[i];
this.listView1.Items.Remove(item);
cmd.ExecuteNonQuery();
}
boywangliang 2009-04-11
  • 打赏
  • 举报
回复
string sql=string.Format("delete from Information where id={0}"
,Convert.Toint32(listview.SelectedItem[0].tag));
SqlCommand Command=new SqlCommand(sql,数据库连接);
int a=Command.ExecuteNonQuery();
这个是跟据你选中的下标来删除的这个应该可以
cja03 2009-04-11
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 zhuhong639 的回复:]
还是要报同样的错啊,怎么回事呢?
[/Quote]

因为你把那行删了,再去获取它的ID,自然就无法获取了。

1.像上面说的方法,获取ID,从数据库删除
2.数据库删除成功的话,把listview的选中行也删了
tckoo 2009-04-11
  • 打赏
  • 举报
回复
还是要报同样的错啊,怎么回事呢?
cheng_er 2009-04-11
  • 打赏
  • 举报
回复
编号在listview上显示不,显示就能找啊
不显示,那就查询的时候,在listview添一行隐藏列,并把编号赋进去
我考虑你这个是有编号的,在第一列显示,对吧,
那就是“...where 编号=”+ yourlistview.SelectedItems[0].Text
如果非第一列,就yourlistview.SelectedItems[0].SubItems[x].Text
x是从1开始的,在listview第二列,x=1,以此类推
另外,subitems是不是只能用在listview是detail模式下,你再核对一下
bellicoaxe 2009-04-11
  • 打赏
  • 举报
回复
绑定一个右键快捷菜单
tckoo 2009-04-10
  • 打赏
  • 举报
回复
我按7L的写了,可是报错了,错误为:
未处理ArgumentOutOfRangeException
InvalidArgument="0"的值对于"index"无效。
fengling2001 2009-04-10
  • 打赏
  • 举报
回复
在listview SelectedIndexChanged事件中this.ListWindowsView.SelectedItems[0].SubItems[0].Text.ToString()
tckoo 2009-04-10
  • 打赏
  • 举报
回复
我是先输入一个编号或者姓名查询,然后查询结果在listview中显示出来,最后我在这些查询结果中选择一项,然后右键删除,删除需要删除在listview的记录,也要删除在数据库中的记录。你的查询语句那里: where 编号=,这个怎么弄?怎么获取当前我选择的这行记录的编号的值?
l527391549 2009-04-10
  • 打赏
  • 举报
回复
有事情可以联系我!QQ451640628
l527391549 2009-04-10
  • 打赏
  • 举报
回复
string sql =string.Format("delete from Information where 编号={0}",你要删的编号);
command.ExecuteNonQuery(sql); //删除数据
再刷新一遍就可以了!
也就是执行一下你显示listview数据的方法!

tckoo 2009-04-10
  • 打赏
  • 举报
回复
删除其在listview的显示这个我自己做出来了,最主要就是我不知道怎么对数据源进行操作啊,请各位帮帮忙啊,我该怎么在数据库中也将它删除啊?
fengling2001 2009-04-10
  • 打赏
  • 举报
回复
直接在Dataset中删除,然后Update Listview,同时对数据库进行更新
jeff-cc 2009-04-10
  • 打赏
  • 举报
回复
你可以通过选中ListView中的编号 在数据库中查询匹配的编号 进行删除它 就可以了 不知道有没有帮助

111,126

社区成员

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

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

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