Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / большой список в droplist / 9 сообщений из 9, страница 1 из 1
20.03.2017, 07:52
    #39422779
denis_viktorovich
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
большой список в droplist
Доброго времени суток. Вот такой вопрос. На сайте юзеру надо выбрать из довольно большого справочника средство. Выбор идет по цифровому коду, причем сказать точно, какую часть кода они знают нельзя, т.е. условие выбора с Like.
Если я:
1. Просто показываю весь справочник отсортировав его для выбора (пара десятков тысяч записей), это неюзабельно для пользователя, т.к. стандартный автопоиск работает только по началу кода и набирать его надо быстро, т.е. если мы ищем 23456 и набрали 2345 а потом после некоей паузы вводим 6, то автопоиск оказывается сначала на строчке начинающейся с 2345, а потом с 6.
2. Использую автокомплит с запросом, вроде такой вариант самый верный, но селективность справочника очень маленькая. Даже если искать символов с 4, человек ввел 2345 и ему подгружается список из 5000 строк, при вводе нового символа - чуть меньше и т.д. Притормаживания при вводе (в том месте где список чистится и пере заполняется) сильно портят впечатление.

3. Сделал вот что. Обрабатываю keypress в dropdownlist, то, что вводят запоминаю в текстовое поле, при вводе Enter делаю выборку и заполнение списка, при нажатии ESC обнуляю введенное. Нормально работает, но сильно непривычно пользователю. Надо понимать, что надо выделить этот список, ввести свой кусок кода, нажать энтер и тогда он отфильтуется.

Вопрос, как это лучше делать с точки зрения правильного UI ? (я не вижу в интернете примеров чтобы списки для выбора были реально большими, как правило они как то по классификаторам бьются, что в моем случае невозможно).
...
Рейтинг: 0 / 0
20.03.2017, 08:28
    #39422791
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
большой список в droplist
denis_viktorovich2. Использую автокомплит с запросом, вроде такой вариант самый верный, но селективность справочника очень маленькая. Даже если искать символов с 4, человек ввел 2345 и ему подгружается список из 5000 строк, при вводе нового символа - чуть меньше и т.д. Притормаживания при вводе (в том месте где список чистится и пере заполняется) сильно портят впечатление.Можно попробовать этот способ + в запросе указать что-то вроде select top 200 ...
...
Рейтинг: 0 / 0
20.03.2017, 08:42
    #39422798
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
большой список в droplist
denis_viktorovich2. Использую автокомплит с запросом, вроде такой вариант самый верный, но селективность справочника очень маленькая. Даже если искать символов с 4, человек ввел 2345 и ему подгружается список из 5000 строк, при вводе нового символа - чуть меньше и т.д. Притормаживания при вводе (в том месте где список чистится и пере заполняется) сильно портят впечатление.

1. использовать полнотекстовый поиск
2. показывать первые 10-15 записей
3. показывать хинт сколько найдено вообще, чтобы не вводить в заблуждение пользователя
4. автокомплит, а не dropdown

у нас на миллионах записей такой автокомплит работает моментально. при чём пользователь может допустить ошибку в вводе, изменить порядок слов и это прокатит.
...
Рейтинг: 0 / 0
20.03.2017, 09:45
    #39422829
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
большой список в droplist
denis_viktorovich, а UI на чем написан? WinForms, WPF, ASP.NET?
...
Рейтинг: 0 / 0
20.03.2017, 10:04
    #39422854
denis_viktorovich
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
большой список в droplist
skyANA,
ASP.NET MVC 3
...
Рейтинг: 0 / 0
20.03.2017, 11:41
    #39422993
denis_viktorovich
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
большой список в droplist
denis_viktorovichskyANA,
ASP.NET MVC 3
+bootstrap по мере необходимости прикручивается.
...
Рейтинг: 0 / 0
20.03.2017, 11:50
    #39423004
denis_viktorovich
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
большой список в droplist
[quot hVostt]
3. показывать хинт сколько найдено вообще, чтобы не вводить в заблуждение пользователя
[quot]

понятно, т.е. нашлось 200, показываю 10, если нужные юзеру в топ не попали, размещаю рядом с "@Html.DropDownList(" некую ссылку или кнопку "показать все" при нажатии которой, список заполняется уже без top 10.
Как вариант еще в список можно сунуть значение "Показать все", при выборе которого заполняем полностью, что наверное удобнее.
...
Рейтинг: 0 / 0
20.03.2017, 12:58
    #39423125
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
большой список в droplist
denis_viktorovichskyANA,
ASP.NET MVC 3
Хм, добавить кнопку типа кнопки "Найти" на ya.ru...
...
Рейтинг: 0 / 0
24.03.2017, 14:40
    #39426561
denis_viktorovich
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
большой список в droplist
Спасибо за советы, сделал некое гибридное решение.
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / большой список в droplist / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]