Удалить и вставить значения выпадающего списка - PullRequest
0 голосов
/ 07 июля 2011

У меня есть пара выпадающих списков, подобных этому

<asp:DropDownList runat="server" OnSelectedIndexChanged="Update_ddls" AutoPostBack="true" ID="ddl1" />

<asp:DropDownList runat="server" ID="ddl2" />

Которые заполняются столбцом в моей БД, как это

query.CommandText = "SELECT * FROM locations"

DataTable = New DataTable()
DataAdapter = New SqlDataAdapter(query)
DataAdapter.Fill(DataTable)

If Not Page.IsPostBack Then
    ddl1.DataSource = DataTable.DefaultView
    ddl1.DataTextField = "location"
    ddl1.DataValueField = "location"
    ddl1.DataBind()
    ddl1.Items.Insert(0, New ListItem("Select...", "Select..."))
End If

У меня также есть функция с именем Update_ddls, которая запускает OnSelectedIndexChanged, которая выглядит следующим образом

ddl2.Items.Remove(ddl2.Items.FindByValue(ddl1.SelectedValue.ToString()))

, который удаляет выбранный элемент в ddl1 из второго раскрывающегося списка, но если я продолжу изменять элемент ddl1, то в ddl2 не останется никаких элементов.

Есть ли способ повторно добавить ранее удаленные элементы в функцию Update_dlls без повторного связывания данных, потому что, если я повторно привязываю данные, я потеряю выбранный элемент в ddl?

Заранее спасибо

Ответы [ 2 ]

1 голос
/ 07 июля 2011

Сохраните SelectedValue в некоторых variable до rebinding выпадающего списка и затем просто удалите значение из выпадающего списка

0 голосов
/ 07 июля 2011

Вы можете повторно привязать ddl2 в вашем обработчике OnSelectedIndexChanged для ddl1, а затем удалить фактическое значение из ddl1 после факта.

...