Для обработки 12000 кодов агентств в раскрывающемся списке в Lotus Notes

У меня есть поле, в котором я хочу показать раскрывающийся список, содержащий почти 12 000 кодов агентств, меня мало беспокоит производительность Lotus Client, я подумал о создании представления конфигурации, а затем с помощью dbcolumn я могу ввести значения в поле (вполне традиционное), но я не уверен, справится ли это с объемом данных (12 000), не замедлит ли это процесс.

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


person Himanshu    schedule 23.04.2013    source источник
comment
Я думаю, вы, вероятно, достигнете предела размера возврата @DbColumn. Но также мне кажется, что 12 000 — это слишком много для пользователя, чтобы иметь дело с одним раскрывающимся списком. Есть ли способ разбить его на серию раскрывающихся списков, которые сужают выбор?   -  person Richard Schwartz    schedule 23.04.2013
comment
@DialogBox() поможет вам в этом   -  person Ramkumar    schedule 24.04.2013
comment
Переосмыслите свою идею. С точки зрения UX пользователь потратит много времени, чтобы найти что-либо в пределах 12 000 значений. Поэтому, если они используются для ввода какого-либо кода, предоставьте поле редактирования с функцией проверки/автозаполнения. Если им нужно выбрать значения, предоставьте список выбора/диалоговое окно с фильтром/поиском. Поле со списком (раскрывающийся список) — худший вариант, я думаю.   -  person Frantisek Kossuth    schedule 24.04.2013
comment
Если вы работаете с Lotus Notes в течение 3 лет, как указано в вашем профиле, я уверен, что вы слышали (и, вероятно, сталкивались) с ограничением в 32 КБ в @DbDolumn/@DbLookup, что соответствует 16 КБ символов...   -  person Karl-Henry Martinsson    schedule 25.04.2013


Ответы (3)


Я думаю, вы могли бы рассмотреть возможность использования кнопки, которая вместо этого вызывает @PickList. См. здесь для получения дополнительной информации.

person Richard Schwartz    schedule 23.04.2013

Создайте поле и выберите тип в качестве диалогового списка. И выберите Use view dialog for choices

Примечание. DbColumn выдаст ошибку, если возвращаемое значение превысит 32 КБ.

Вы также можете использовать @PickList.

person Ramkumar    schedule 24.04.2013
comment
Я могу подтвердить, что это работает, у меня была проблема с ошибкой поиска, и переключение на диалог просмотра работало отлично. Помимо того, что он выглядел немного по-другому, конечный результат работал в основном так же, как и раньше. - person Zach; 08.01.2014

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

Я не уверен, чего ожидать, и производительность может быть не такой уж плохой. Но если производительность является проблемой, вы можете использовать запланированные агенты для считывания всех значений из представления и сохранения их в документе профиля. Возможно, вам придется использовать несколько полей для хранения всех значений с учетом ограничения в 32 КБ, но тогда ваша формула списка диалогов должна просто считывать несколько полей из документа профиля, что должно быть довольно быстро.

person Ken Pespisa    schedule 23.04.2013