2010-07-16 2 views
0

Скажем, у нас есть три зависимых выберите выпадающие (выбор родительского асинхронно заполнит ребенка с помощью запроса к базе данных):Выберите выпадающий элемент 1 миллион вариантов, гм ... зависимых слишком

DD1: [Люди этого мира]
        DD2: [Пряди волос]
                DD3: [кератина Молекулы]

Хорошо, списки наших опций не будут такими большими, как здесь подразумеваются имена, но в каждом выпадающем меню будет размещено около 1 миллиона опций. На днях мы попытались загрузить около 20 000 опций (через ajax) в раскрывающийся список для детей, и пользовательский интерфейс застыл, и все пошло не так.

Любые стратегии?

(Мы находимся на Spring MVC/JSTL + Tiles/DB2/EXTJS).

+0

Это смешно. Единственное решение здесь состоит в том, чтобы никогда не показывать 1 миллион элементов в раскрывающемся списке. Когда-либо. –

ответ

0

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

1

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

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

Молекулы кератина, о которых я не знаю, но я уверен, что из-за того, что я помню в своей химии в средней школе, было много иерархий.

Смежные вопросы