3

Я использую C# и ASP.NET с версией 2.0 библиотеки .NET Framework для этого конкретного проекта. Мы также используем AjaxControlToolkit. AjaxControlToolkit должен иметь элементы управления, доступные для решения проблемы с пользовательским интерфейсом спуска, к проблеме, с которой я сталкиваюсь.Альтернативный контроль пользовательского интерфейса для больших списков данных вместо DropDownList

Я столкнулся с этим в нескольких проектах за последний год и использовал различные решения в прошлом. Нынешний проект проекта, который я только что подхватил, заключается в том, что есть элемент управления < asp: DropDownList > и на загрузке страницы выполняется вызов базы данных для получения списка значений. Затем он связан с источником данных DropDownList. Проблема в том, что из базы данных возвращено 25 тыс. Элементов. Первое, что неприемлемо для пользователя, чтобы прокручивать десятки тысяч предметов. Но, что еще более важно, это то, что в каждом браузере, на котором он протестирован (IE 7, FF 3, Safari и Chrome), браузер полностью зависает, когда он распространяет элементы выпадающего списка.

Что я думаю об использовании формы Modal Popup, которая содержит Autocomplete Extender, которая позволяет пользователю перейти к конкретной компании. Таким образом, в области, где им приходится выбирать компанию, они нажимают на значок «избранной компании», появляется модальная форма, позволяя им использовать автозаполняющий расширитель для выбора существующей компании. Они нажимают «Ok» и сохраняют значение в поле.

Тем не менее, я старая командная строка школы/shell/terminal guy, и мои идеи приемлемого дизайна пользовательского интерфейса могут быть искажены (дайте мне командную подсказку в любой системе, и я готов идти). Я бы хотел, чтобы советы тех, кто в сообществе здесь, о том, что они считают приемлемым решением, или если они столкнулись с такими другими проблемами.

ответ

1

Я думаю, что ваша идея для расширителя автозаполнения - лучшее решение. У меня тоже была эта проблема (звучит похоже - проект, который вы берете с кем-то другого). Выталкивание часто происходит со стороны пользователя. Они используются для выбора из списка элементов. К сожалению, поскольку база данных растет, это становится все менее и менее осуществимым.

Но если у вас есть 0,5 МБ html, загружаемых на страницу (не включая viewstate), должны быть сделаны компромиссы.

Почему, по-вашему, вам нужно создать модальное всплывающее окно? Не можете ли вы иметь расширение на странице ввода данных?

0

Мне пришлось иметь дело с той же проблемой. Но я закончил использование combobox с поддержкой поискового вызова и автоматическое завершение. В настоящее время это combobox происходит от Telerik. Его comboBox для автоматического завершения, так как вы не можете вводить в дроп.

+0

я хотел бы не использовать 3 управления партии. Тем не менее, я пытаюсь мысленно представить, как выглядит это решение. – stephenbayer 2008-10-29 16:25:57

+0

Свойство combobox со строкой прокрутки в списке показывает 20 элементов, если вы прокручиваете донизу, он выбирает следующие 20 и добавляет в список. Набор ajaxtool может иметь такой тип управления. – 2008-10-29 21:17:41

0

Я согласен, что ни один пользователь не захочет смотреть через 25 000 предметов, чтобы найти тот, который им нужен. Есть ли способ ограничить данные, чтобы они развернулись? Как сначала выбрать регион или тип компании, а затем показать те, которые соответствуют?

+0

нет, не совсем ... :(Они не классифицируются как в базе данных. – stephenbayer 2008-10-29 16:33:10

0
  • Множественные каскадные ListBoxes, каждый futher рафинирования ResultSet предыдущего
  • AJAX AutoCompleteExtender