从CheckBox列表中删除项目
这是主要forms:
代码forms:
protected void Button1_Click(object sender, EventArgs e) { for (int i = 0; i < chkItems.Items.Count; i++) { if (chkItems.Items[i].Selected == true) { chkItems.Items.RemoveAt(i); } } }
在我的表单中,我想删除用户已签出的项目。 但是,如果我选择3个项目,则在用户点击删除后,表单上将至少保留一个项目。 我错过了什么?
您需要列出要删除的所有项目,然后逐个删除它们。
例如
List toBeRemoved = new List (); for(int i=0; i
在您的示例中,您将删除项目,这将更改您尚未循环的其余项目的索引。 这将导致您在循环时“丢失”项目。 我想这就是问题的原因。
尝试向后循环,例如
protected void Button1_Click(object sender, EventArgs e) { for (int i = chkItems.Items.Count -1 ; i >= 0; i--) { if (chkItems.Items[i].Selected == true) { chkItems.Items.RemoveAt(i); } } }
你可以这样做。
上述就是C#学习教程:从CheckBox列表中删除项目分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
> for (int i = 0; i < chkItems.Items.Count; i++) { if (chkItems.Items[i].Selected == true) { ListItem li =new ListItem(); li.Text = chkItems.Items[i].Text; li.Value = chkItems.Items[i].Value; chkItems.Items.Remove(li); } }
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/989062.html