删除GridView中的选定项目

时间:2012-11-27 12:44:07

标签: c# windows-8

IList<object> itemsSelected = MyGrid.SelectedItems;

foreach (object itemSelected in itemsSelected)
{
   MyGrid.SelectedItems.Remove(itemSelected);
}

我尝试从GridView中删除所选项目,但并未删除所有选定项目。 有人能帮助我吗?

4 个答案:

答案 0 :(得分:3)

object[] itemsSelected = MyGrid.SelectedItems.ToArray<object>();
        foreach (object item in itemsSelected)
        {
            MyGrid.Items.Remove(item);
        }

答案 1 :(得分:1)

我也遇到了确切的问题。我写了这样的东西,但它也没有删除所有项目,只是其中一些:

foreach(var item in MyGridView.SelectedItems)
{
     MyGridView.Items.Remove(item);
}

但写下这将删除所有您选择的项目肯定:

while (YourGridView.SelectedItems.Count != 0)
{
    YourGridView.Items.Remove(YouGridView.SelectedItem);
}

答案 2 :(得分:0)

当你将foreach与SelectedItems一起使用时,没有例外吗?删除item时,SelectedItems数组被修改,foreach抛出异常。 (虽然我已尝试过ListBox控件)。尝试使用for-operator并从索引中删除last到first的项目。

答案 3 :(得分:0)

根据您在评论中的答案,我假设您正在使用C#winforms应用程序。

您实际使用的是ListBox a GridView吗?

如果是这样,您应该使用ClearSelected()方法取消选择ListBox中的所有项目。