Компонент SuggestionField
предназначен для поиска экземпляров сущности по строке, вводимой пользователем. Он отличается от SuggestionPickerField тем, что может возвращать любые типы значений, например, сущности, строки или перечисления, а также не имеет кнопок для действий. Список опций загружается асинхронно в соответствии с логикой, задаваемой разработчиком на стороне сервера.
XML-имя компонента: suggestionField
.
Компонент реализован для блока Web Client.
Атрибуты suggestionField
:
-
asyncSearchDelayMs
- устанавливает задержку между последним нажатием клавиши и асинхронным поиском.
-
minSearchStringLength
- устанавливает минимальную длину строки для начала поиска.
-
popupWidth
- устанавливает ширину всплывающей подсказки.Возможные значения:
-
auto
- ширина поля подсказки равна максимальной ширине текста подсказки, -
parent
- ширина поля подсказки равна ширине основного компонента, -
абсолютное (например,
"170px"
) или относительное (например,"50%"
) значение.
-
-
suggestionsLimit
- устанавливает ограничение количества выводимых подсказок.
Элементы suggestionField
:
-
query
- необязательный элемент, позволяющий задать запрос для выбора предлагаемых значений. Элементquery
, в свою очередь, имеет следующие атрибуты:-
entityClass
(обязательный атрибут) - полное квалифицированное имя класса сущности.
-
view
- дополнительный атрибут, задающий представление, с которым будет загружена сущность.
-
escapeValueForLike
- позволяет разрешить поиск по значениям, содержащим специальные символы:%
,\
, и т.д. По умолчаниюfalse
,
-
searchStringFormat
- строка Groovy, что позволяет использовать в запросе валидные Groovy-выражения.
link:../../../../../../source/gui_vcl/suggestionField_2.xml[role=include]
Если элемент
query
не задан, то список опций должен быть предоставлен объектом типаSearchExecutor
, созданным программно (см. ниже). -
Как правило, для компонента достаточно установить SearchExecutor
. SearchExecutor
- это функциональный интерфейс, содержащий один метод: List<E> search(String searchString, Map<String, Object> searchParams)
:
link:../../../../../../source/gui_vcl/suggestionField.java[role=include]
SearchExecutor
может возвращать любые типы значений, например, сущности, строки или перечисления.
-
Сущности:
link:../../../../../../source/gui_vcl/suggestionField_4.java[role=include]
-
Строки:
link:../../../../../../source/gui_vcl/suggestionField_5.java[role=include]
-
Перечисления:
link:../../../../../../source/gui_vcl/suggestionField_6.java[role=include]
-
Класс
OptionWrapper
используется тогда, когда необходимо отделить значение любого типа от его строкового представления:
link:../../../../../../source/gui_vcl/suggestionField_7.java[role=include]
Warning
|
Метод |
Параметр searchString
может быть использован для фильтрации кандидатов по строке, введенной пользователем. Чтобы искать по значениям, содержащим специальные символы, используйте метод escapeForLike()
:
link:../../../../../../source/gui_vcl/suggestionField_9.java[role=include]
-
OptionsStyleProvider
позволяет задать отдельные стили для различных значений подсказок, отображаемых компонентомsuggestionField
:link:../../../../../../source/gui_vcl/suggestionField_8.java[role=include]
- Атрибуты suggestionField
-
align - asyncSearchDelayMs - caption - captionProperty - colspan - contextHelpText - contextHelpTextHtmlEnabled - datasource - description - editable - enable - height - icon - id - inputPrompt - minSearchStringLength - popupWidth - property - required - requiredMessage - responsive - rowspan - stylename - suggestionsLimit - tabIndex - visible - width
- Элементы suggestionField
- Атрибуты query
-
entityClass - escapeValueForLike - searchStringFormat - view
- Предопределенные стили suggestionField
- API