如何从列表视图中删除所选项?
答案 0 :(得分:30)
foreach ( ListViewItem eachItem in listView1.SelectedItems)
{
listView1.Items.Remove(eachItem);
}
其中listView1是列表视图的ID。
答案 1 :(得分:4)
当只有一个项目(Multiselect = false
)时:
listview1.SelectedItems[0].Remove();
对于多个项目(Multiselect = true
):
foreach (ListViewItem eachItem in listView1.SelectedItems)
{
listView1.Items.Remove(eachItem);
}
答案 2 :(得分:2)
listBox.Items.RemoveAt(listBox.SelectedIndex);
答案 3 :(得分:0)
listView1.Items.Cast<ListViewItem>().Where(T => T.Selected)
.Select(T => T.Index).ToList().ForEach(T => listView1.Items.RemoveAt(T))
答案 4 :(得分:0)
从ListView
控件中移除项目的另一种方法(具有GridView
)(在WPF
中) -
var selected = myList.SelectedItems.Cast<Object>().ToArray();
foreach(var item in selected)
{
myList.Items.Remove(item);
}
其中myList
是ListView
控件的名称
答案 5 :(得分:0)
嗯,尽管已经很晚了,但我最近遇到了这个问题,所以有人可能会再次遇到这个问题。实际上,我需要删除所有选中的项,但是上面的代码对我来说都不起作用。当集合在foreach期间更改时,它总是会引发错误。我的解决方案是这样的:
while (listView1.SelectedIndex > 0)
{
listView1.Items.RemoveAt(listView1.SelectedIndex);
}
当您获得最后一个选定项目的位置时(当前),它不会引发错误,因此即使将其删除,您也将获得现在的位置。如果不再选择任何项目,则SelectedIndex返回-1并结束循环。这样,您可以确保不再有选定的项目,也可以确保代码将尝试删除负索引中的项目。
答案 6 :(得分:-1)
foreach (DataGridViewRow dgr in dgvComments.SelectedRows)
dgvComments.Rows.Remove(dgr);