IList<object> itemsSelected = MyGrid.SelectedItems;
foreach (object itemSelected in itemsSelected)
{
MyGrid.SelectedItems.Remove(itemSelected);
}
我尝试从GridView中删除所选项目,但并未删除所有选定项目。 有人能帮助我吗?
答案 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
中的所有项目。