Как сделать опцию в выпадающем списке первой опцией только при открытии списка?

#asp.net #c#-2.0 #asp.net-2.0

#asp.net #c #-2.0 #asp.net-2.0

Вопрос:

У меня есть выпадающий список, который заполнен значениями, возвращаемыми SQL-запросом. После заполнения списка я добавляю две опции вручную в этот выпадающий список: -- Select -- и ALL .

При загрузке страницы выпадающий список отображается -- Select -- как значение по умолчанию. Когда пользователь открывает выпадающий список, список возвращаемых запросов SQL также открывается вместе с ALL опцией.

Я хочу, чтобы это ALL отображалось как первый элемент в списке при открытии списка. Я не могу использовать: DropDownList.SelectedIndex потому что я хочу, чтобы они уже были сделаны -- Select -- в качестве выбранного индекса.

Как сделать ALL первую опцию при открытии списка?

Ответ №1:

Я думаю, одним из решений было бы использовать текстовое поле / выпадающий список в сочетании. И выберите текст по умолчанию в текстовом поле. И первой опцией в выпадающем списке будет ALL . Затем отключите редактирование текстового поля, чтобы оно отображалось как обычный выпадающий список.

Вот так: текстовое поле и выпадающий список объединены

Надеюсь, это поможет.

Комментарии:

1. Хммм. Хорошая альтернатива, но я не могу добавить текстовое поле. Нет разрешения на изменение пользовательского интерфейса. Эта ссылка хорошая. Есть ли какая-либо альтернатива jQuery?

2. Я не уверен, можете ли вы изменить стандартный выпадающий список в соответствии с вашими потребностями. Вот еще одна ссылка, но я предполагаю, что для этого также потребуются изменения пользовательского интерфейса. dev.sencha.com/deploy/ext-4.0.0/examples/form/combos.html надеюсь, вы найдете свой ответ.

Ответ №2:

Насколько я понимаю, ваша мечта — иметь выпадающий список, подобный этому

 SELECT(this one comes as selected)
ALL(the first item in the dropdownlist)    
V1(from your query)
V2(from your query)
V3(from your query)
..
.   
  

Вы можете сделать это

 string selectStr = "SELECT";
string allStr = "ALL"

ListItem allLI = new ListItem(allStr,allStr);        
ListItem selectLI = new ListItem(selectStr,selectStr);

DropDownList.Items.Add(selectLI);
DropDownList.Items.Add(allLI);


//code to fill the DropDownList with the list that your query returns

DropDownList.SelectedValue = selectStr;