Удалить выбранные элементы из Asp.net ListBox - PullRequest
3 голосов
/ 23 февраля 2012

Мне нужно удалить выбранные элементы из ListBox в asp.net.Я продолжаю искать примеры для форм 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)
    {}

Ответы [ 6 ]

14 голосов
/ 23 февраля 2012

Если вы просто хотите очистить выбранные элементы, используйте приведенный ниже код:

        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 голос
/ 27 сентября 2016

Попробуйте удалить выбранные элементы из списка.

 protected void Remove_Click(object sender, EventArgs e)
{
    while (ListBox.GetSelectedIndices().Length > 0)
    {
        ListBox.Items.Remove(ListBox.SelectedItem); 
    }
}
0 голосов
/ 13 января 2016

Почему бы просто не использовать Items.Remove и передать значение строки выбранного элемента.

ListBox1.Items.Remove(ListBox1.SelectedItem.ToString());
0 голосов
/ 19 апреля 2014
int a = txtbuklist.SelectedIndex;
txtbuklist.Items.RemoveAt(a);
0 голосов
/ 12 марта 2013

Я попробовал несколько экспериментов, и методика ниже работает. Это не очень эффективно, так как запрашивает список на каждой итерации, но выполняет работу.

        while (myListBox.SelectedIndex != -1)
        {
            ListItem mySelectedItem = (from ListItem li in myListBox.Items where li.Selected == true select li).First();
            myListBox.Items.Remove(mySelectedItem);
        };
0 голосов
/ 09 марта 2013
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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...