我需要从asp.net中的ListBox中删除所选项。我一直在寻找Windows窗体的示例,但不是asp.net。
我有一个按钮点击事件,可以将所有项目从一个列表框复制到另一个列表框。我希望能够从第二个列表框中选择单个项目,然后单击按钮将其删除。
protected void btnAddAllProjects_Click(object sender, EventArgs e)
{
foreach (ListItem item in lstbxFromUserProjects.Items)
{
lstBoxToUserProjects.Items.Add(item.ToString());
}
}
protected void btnRemoveSelected_Click(object sender, EventArgs e)
{}
答案 0 :(得分:13)
如果您只想清除所选项目,请使用以下代码:
ListBox1.ClearSelection();
//or
foreach (ListItem listItem in ListBox1.Items)
{
listItem.Selected = false;
}
如果您想要实际删除项目的内容,那么这就是您的代码..
List<ListItem> itemsToRemove = new List<ListItem>();
foreach (ListItem listItem in ListBox1.Items)
{
if (listItem.Selected)
itemsToRemove.Add(listItem);
}
foreach (ListItem listItem in itemsToRemove)
{
ListBox1.Items.Remove(listItem);
}
答案 1 :(得分:1)
尝试此操作以从列表框中删除所选项目。
protected void Remove_Click(object sender, EventArgs e)
{
while (ListBox.GetSelectedIndices().Length > 0)
{
ListBox.Items.Remove(ListBox.SelectedItem);
}
}
答案 2 :(得分:0)
我尝试了一些实验,下面的技术有效。它不是很有效,因为它在每次迭代时重新查询列表框,但它完成了工作。
while (myListBox.SelectedIndex != -1)
{
ListItem mySelectedItem = (from ListItem li in myListBox.Items where li.Selected == true select li).First();
myListBox.Items.Remove(mySelectedItem);
};
答案 3 :(得分:0)
为什么不简单地使用Items.Remove并传递所选的项目字符串值。
ListBox1.Items.Remove(ListBox1.SelectedItem.ToString());
答案 4 :(得分:-2)
protected void ButtonRemoveSelectedItem_Click(object sender, EventArgs e)
{
int position = 0;
for (byte i = 0; i < ListBox2.Items.Count; i++)
{
position = ListBox2.SelectedIndex ;
}
ListBox2.Items.RemoveAt(position);
}
答案 5 :(得分:-2)
int a = txtbuklist.SelectedIndex;
txtbuklist.Items.RemoveAt(a);