"EhLib.Com"
https://forum.ehlib.com/ru/

два ? по TDBLookupComboboxEh
https://forum.ehlib.com/ru/viewtopic.php?f=4&t=3286
Страница 1 из 1

Автор:  sdg [ 13 дек 2022, 20:18 ]
Заголовок сообщения:  два ? по TDBLookupComboboxEh

1. Style = csDropDownEh
и DropDownBox.AutoDrop = true

список не выпадает при фокусе. почему?

2. Style = csDropDownEh
DropDownBox.ListSource = nil

при наборе текста EAccessViolation.
Зачем дважды задавать один и тот же источник для ListSource и DropDownBox.ListSource?
при поиске, если csDropDownEh и DropDownBox.ListSource не указан, можно же взять ListSource.

или я что-то делаю не так?

Версия 10.2.038

Вложения:
LookupComboboxEh.zip [1.95 KiB]
Скачиваний: 47

Автор:  EhLibSupport [ 14 дек 2022, 17:26 ]
Заголовок сообщения:  Re: два ? по TDBLookupComboboxEh

Добрый день.

--
Свойств DropDownBox.AutoDrop задает возможность автоматического открытия списка при вводе текста.
На открытие списка при получении комбобоксом фокуса это свойство не влияет.

--
В режиме TDBLookupComboboxEh.Style = csDropDownListEh список открывается при нажатии мышкой на любой раздел комбобокса, а не только на кнопку открытия списка.

--
У вас установлено свойство DropDownBox.ListSourceAutoFilter = True. Это значит, что комбобокс будет фильтровать данные по мере ввода текста в редактор. Для отображения отфильтрованных данных используется ДатаСет присвоенный через свойство DropDownBox.ListSource. Фильтровать данные в ДатаСете который присвоен через TDBLookupComboboxEh.ListSource некорректно, т.к. этот ДатаСет считается ДатаСетом с первичными данными и может использоваться в разных местах приложения, в разных других комбобоксах и изменение списка в «первичном» датасете может испортить логику использования первичных данных.

Автор:  sdg [ 14 дек 2022, 19:33 ]
Заголовок сообщения:  Re: два ? по TDBLookupComboboxEh

1. не логично ли сделать одинаковое поведение компонента для всех стилей и DropDownBox.AutoDrop = true ?

2. мне кажется странным не использовать основной ListSource если не заполнен DropDownBox.ListSource, а падать в ошибку. но вам решать :)

Страница 1 из 1 Часовой пояс: UTC
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/