Переместить элемент из списка1 в список2 в веб-приложении

У меня есть 2 списка. Один содержит все отделы, которые не назначены, а другой список содержит все отделы, которые назначены конкретному человеку. Теперь я хочу добавлять и удалять отделы, используя запрос вставки и удаления. Запрос будет выполнен только для 1 таблицы, т.е. для назначенного отдела (listbox2) и нажатием кнопки СОХРАНИТЬ. Я сделал вставку, но не смог обработать удаление. Я видел несколько примеров, но они не имеют события БД в них.

protected void Save_Click(object sender, EventArgs e)
{
    DataTable dt = GetData2();
    bool found = false;

    foreach (RadListBoxItem item in RadListBox2.Items)
    {

        found = false;
        foreach (DataRow dr in dt.Rows)
        {
            if (String.Compare(item.Value, dr["DeptID"].ToString()) == 0)
            {
                found = true; 
                label1.Text = "Add a New Group to the ListBox";
            }

        }
        if (found == false)
        {
            Item(item.Text, item.Value);
        }

Это то, что я пытаюсь сделать. Я хочу обработать вставку и удалить событие на кнопку Сохранить.

2 ответа

Решение

Я разобрался с решением, поэтому выкладываю его здесь.

    foreach (DataRow dr in dt.Rows)
    {
        found = false;
        foreach (RadListBoxItem item in RadListBox2.Items)
        {
            if (String.Compare(item.Value, dr["DeptID"].ToString()) == 0)
            {
                found = true;
            }
        }

            if (found == false)
            {
                 //delete here
            }
        }


} 

Я использую событие RadListBox Transferred. Когда событие Transferred сработает, Items смотрят на идентификатор списка назначения и определяют, были ли элементы перемещены в неназначенный или назначенный ListBox. Как только вы знаете место назначения, вы можете выполнить запрос, чтобы добавить или удалить строки из вашей базы данных.

В любом случае ваш запрос будет зависеть от вашей схемы. В моей ситуации у меня была таблица поиска, которая определяла, был ли предмет прикреплен.

rlistAvailable_Transferred(object sender, Telerik.Web.UI.RadListBoxTransferredEventArgs e)
{
        if (e.DestinationListBox.ID == "rlistAttached") 
        {
            foreach (Telerik.Web.UI.RadListBoxItem li in e.Items) 
                {
            //do insert query using li.Value
                }
        } 
        else 
        {
            foreach (Telerik.Web.UI.RadListBoxItem li in e.Items) 
                    {
            //do delete query using li.Value
                }
         }
}
Другие вопросы по тегам