Альтернативный контроль пользовательского интерфейса для больших списков данных вместо DropDownList - PullRequest
3 голосов
/ 29 октября 2008

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

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

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

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

Ответы [ 4 ]

1 голос
/ 30 октября 2008

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

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

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

0 голосов
/ 31 октября 2008
  • Несколько каскадных списков, каждый из которых уточняет набор результатов предыдущего
  • AJAX AutoCompleteExtender
0 голосов
/ 29 октября 2008

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

0 голосов
/ 29 октября 2008

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...