Контролировать количество отображаемых строк в раскрывающемся списке

Есть ли способ контролировать количество отображаемых строк в элементе управления DropDownList? Я бы хотел, чтобы он отображал только 10 строк, но по умолчанию он равен 30. Это приводит к тому, что список отображается выше, чем элемент управления, а не под ним из-за его положения на странице.

15.12.2008 21:46:46
3 ОТВЕТА
РЕШЕНИЕ

Если ASP.NET отображает элемент управления DropDownList как a, <select>то нет способа контролировать количество строк, отображаемых при <select>открытии, это зависит от реализации браузера.

Быстрый тест показывает, что IE 6 показывает 27 элементов из списка 27 элементов, Safari для Windows 3.2.1 показывает 22, Firefox 2 отображает 20, а Opera 9.6.2 показывает 16. Показанное число может даже зависеть от общего количества элементов, но я не удосужился проверить это, потому что совершенно очевидно, что вы не сможете это контролировать.

Добавление size="..."к элементу управления сделает выпадающий список фиксированного размера и больше не будет «выпадающим списком» (при условии, что вы даже можете это сделать).

Похоже, единственное решение этой проблемы заключается в реализации собственного выпадающего элемента управления на основе JavaScript, а также при покупке или загрузке.

0
15.12.2008 22:13:42

Примечание: я не пробовал это с помощью кода

Добавьте атрибут «size» со значением «10» для отображения 10 строк в раскрывающемся списке.

<asp: dropdownlist size = "10" ...>

Это работает? (Я догадываюсь, так как выпадающий список является тегом SELECT в HTML)

0
15.12.2008 21:58:20
Извините, размер превратит его в список :(
shahkalpesh 15.12.2008 22:34:14

Вы можете выполнить разбиение на страницы на источнике данных для выпадающего списка с помощью PagedDataSource и установить для параметра PageSize значение 10.

1
15.12.2008 22:42:44
Я не смог получить образец работы. Если бы вы могли разработать какой-то код, это было бы очень ценно.
gfrizzle 16.12.2008 13:37:45