JT1992 Ответов: 1

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


<asp:DropDownList ID="DropDownList1" runat="server" Width="150px" style="padding:0" Visible="True">
        </asp:DropDownList><asp:DropDownList ID="DropDownList2" runat="server" Width="150px"  style="padding:0" Visible="True">
        </asp:DropDownList><asp:DropDownList ID="DropDownList3" runat="server" Width="150px"  style="padding:0" Visible="True">
        </asp:DropDownList>


Мой код для добавления элементов в раскрывающиеся списки приведен ниже. Тем не менее, я хотел бы знать, как я могу убедиться, что когда один элемент из выпадающего списка ниже выбран, он исчезает из других выпадающих списков. Я хочу сделать это без кнопки. какое событие мне придется использовать? ЗАРАНЕЕ БОЛЬШОЕ ВАМ СПАСИБО!

DropDownList1.Items.Add("")
DropDownList1.Items.Add("Test1")
DropDownList1.Items.Add("Test2")
DropDownList1.Items.Add("Test3")
DropDownList1.Items.Add("Test4")
DropDownList2.Items.Add("")
DropDownList2.Items.Add("Test1")
DropDownList2.Items.Add("Test2")
DropDownList2.Items.Add("Test3")
DropDownList2.Items.Add("Test4")
DropDownList3.Items.Add("")
DropDownList3.Items.Add("Test1")
DropDownList3.Items.Add("Test2")
DropDownList3.Items.Add("Test3")
DropDownList3.Items.Add("Test4")
DropDownList4.Items.Add("")
DropDownList4.Items.Add("Test1")
DropDownList4.Items.Add("Test2")
DropDownList4.Items.Add("Test3")
DropDownList4.Items.Add("Test4")


Поэтому, если "Test1" выбран из выпадающего списка 1. я хочу, чтобы он исчез в других выпадающих списках!
Спасибо

Что я уже пробовал:

Предварительный рендеринг не сработал : (не знаю, что делать

j snooze

Это должно сделать трюк(синтаксис может быть не совсем точен). Используйте его на выбранном событии изменения индекса выпадающего списка.

DropDownListX.Предметы.Удалить (DropDownListX.Предметы.FindByValue ("Test1"));

DropDownListX.Предметы.Удалить (DropDownListX.Предметы.FindByValue(DropDownListX.Элемент.Текст));

JT1992

где я могу добавить это в качестве события? у меня нет для этого кнопок. и это должно происходить динамично.

JT1992

Что я буду делать, если пользователь выберет элемент Test1, а затем отменит выбор элемента Test1. как я могу добавить его обратно в Список для других выпадающих списков, если пользователь отменяет выбор элемента Test1 в dropdownlist1?

JT1992

все???

JT1992

можете ли вы проверить мой комментарий пожалуйста спасибо

j snooze

в выпадающих списках тоже есть события, а не только кнопки. Вы можете либо дважды щелкнуть раскрывающийся список на экране дизайна, либо добавить его в элемент <asp:DropDownList> xhtml. где-то там должно быть событие selectedindex change ... есть нечто большее, чем просто событие selectindex changed, но это то, что вам нужно, когда кто-то что-то выбирает.

1 Ответов

Рейтинг:
6

pparya27

Вот пример кода для вашего требования, вы можете изменить его в соответствии с вашим требованием -

<asp:DropDownList ID="DropDownList1" runat="server" Width="150px" AutoPostBack="true" onselectedindexchanged="DropDownList1_SelectedIndexChanged">
        </asp:DropDownList>

        <asp:DropDownList ID="DropDownList2" runat="server" Width="150px" >
        </asp:DropDownList>


при загрузке страницы -

if (!IsPostBack)
       {
           DropDownList1.Items.Add("");
           DropDownList1.Items.Add("Test1");
           DropDownList1.Items.Add("Test2");
           DropDownList1.Items.Add("Test3");
           DropDownList1.Items.Add("Test4");
           DropDownList2.Items.Add("");
           DropDownList2.Items.Add("Test1");
           DropDownList2.Items.Add("Test2");
           DropDownList2.Items.Add("Test3");
           DropDownList2.Items.Add("Test4");
      }


protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
    {
               DropDownList2.Items.Remove(DropDownList2.Items.FindByValue(DropDownList1.SelectedValue));
    }


JT1992

Что я буду делать, если пользователь выберет элемент Test1, а затем отменит выбор элемента Test1. как я могу добавить его обратно в Список для других выпадающих списков, если пользователь отменяет выбор элемента Test1 в dropdownlist1?

JT1992

можете ли вы проверить мой комментарий пожалуйста спасибо

pparya27

друг использует некоторые условия (если еще) внутри события DropDownList1_SelectedIndexChanged. и свяжите обратно элементы во втором выпадающем списке.