我在gridview中有一个下拉列表,当gridview加载时,它从数据源加载.有人可以告诉我如何循环下拉列表并根据if条件从列表中删除某些项目.
Can*_*var 37
无需循环项目,只需找到该项目并将其删除:
ListItem itemToRemove = myDropDown.Items.FindByValue("value");
if (itemToRemove != null)
{
myDropDown.Items.Remove(itemToRemove);
}
Run Code Online (Sandbox Code Playgroud)
或者,如果您知道要删除的项的索引,请使用RemoveAt方法:
myDropDown.Items.RemoveAt(0);
Run Code Online (Sandbox Code Playgroud)
但是如果你想要循环,那么循环:
foreach (ListItem item in myDropDown.Items)
{
// your stuff
}
Run Code Online (Sandbox Code Playgroud)
您不能使用foreach删除项目,因为一旦删除了项目,集合就会被修改,并且循环会抛出异常.
如果必须遍历集合以删除多个项目,最佳解决方案是在集合中向后循环.我的C#很生锈,所以下面是VB.应该很容易转换.
For x As Integer = myDropDown.Items.Count - 1 to 0 Step -1
Dim item As ListItem = myDropDown.Items(x)
If item.TestToSeeIfItShouldBeRemoved = True
myDropDown.Items.RemoveAt(x)
End If
End For
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
69818 次 |
| 最近记录: |