1
IList<object> itemsSelected = MyGrid.SelectedItems;

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

我尝试从 GridView 中删除选定的项目,但并非所有选定的项目都被删除。有人可以帮助我吗?

4

4 回答 4

3
object[] itemsSelected = MyGrid.SelectedItems.ToArray<object>();
        foreach (object item in itemsSelected)
        {
            MyGrid.Items.Remove(item);
        }
于 2012-12-03T12:53:55.270 回答
1

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

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

但是写这个肯定会删除所有你选择的项目:

while (YourGridView.SelectedItems.Count != 0)
{
    YourGridView.Items.Remove(YouGridView.SelectedItem);
}
于 2012-12-05T15:51:40.723 回答
0

当您将 foreach 与 SelectedItems 一起使用时也不例外?当您删除项目时,SelectedItems 数组会被修改,并且 foreach 会引发异常。(虽然我已经尝试过 ListBox 控件)。尝试使用 for-operator 并按索引从最后一个到第一个删除项目。

于 2012-11-27T13:20:33.097 回答
0

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

您实际使用的可能是 aListBox不是aGridView吗?

如果是这样,您应该使用ClearSelected()取消选择ListBox.

于 2012-11-27T16:22:07.693 回答