IList<object> itemsSelected = MyGrid.SelectedItems;
foreach (object itemSelected in itemsSelected)
{
MyGrid.SelectedItems.Remove(itemSelected);
}
我尝试从GridView中删除所选项目,但并非所有选定项目都被删除。 有人可以帮我吗?删除GridView中的选定项目
IList<object> itemsSelected = MyGrid.SelectedItems;
foreach (object itemSelected in itemsSelected)
{
MyGrid.SelectedItems.Remove(itemSelected);
}
我尝试从GridView中删除所选项目,但并非所有选定项目都被删除。 有人可以帮我吗?删除GridView中的选定项目
object[] itemsSelected = MyGrid.SelectedItems.ToArray<object>();
foreach (object item in itemsSelected)
{
MyGrid.Items.Remove(item);
}
有没有例外,当您使用SelectedItems的foreach?当你删除项目时,SelectedItems数组被修改,并且foreach引发一个异常。 (虽然我试过在ListBox控件上)。尝试使用for-operator并通过索引从最后到第一个删除项目。
没有例外。有些项目被删除..但其他人仍然在选中。 – CodeSculptor
这就像我需要实现Java中使用的Iterator。 – CodeSculptor
根据您在评论中的回答,我假设您正在开发C#winforms应用程序。
是否有可能您实际使用的是ListBox
和而不是 a GridView
?
如果是这样,您应该使用ClearSelected()
方法,该方法取消选择ListBox
中的所有项目。
Metro风格的应用程序。 – CodeSculptor
我的确有问题。我写了这样的事情,但它并没有删除所有项目也只是其中的一部分:
foreach(var item in MyGridView.SelectedItems)
{
MyGridView.Items.Remove(item);
}
但是写这将删除所有选定的项目肯定的:
while (YourGridView.SelectedItems.Count != 0)
{
YourGridView.Items.Remove(YouGridView.SelectedItem);
}
这哪里是一块在页面生命周期内声明的代码? 'OnLoad','OnInit' ...? –
这是一个按钮的应用程序栏的动作,删除选定的项目。 – CodeSculptor
[GridView](http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.aspx)似乎没有'SelectedItems'属性。 “SelectedItems”是否为扩展名? –