Я раньше уже спрашивал как отследить ввод данных в StringEdit и сейчас использую событие OnTextEdited.
Однако, в случае если в поле ввода содержится какое-то значение и оно через буфер обмена заменяется на новое, то это событие срабатывает дважды: сначала с пустой строкой, затем с новым содержимым вставленным из буфера.
Так StringEdit используется для моментальной фильтрации в зависимости от содержимого, подобное поведение приводит к тому, что выполняется два запроса к базе данных, причём первый запрос — с пустой строкой, а значит и без фильтрации — приводит к выборке всех строк, что мало того что не нужно, так ещё и достаточно долго выполняется.
Что можно сделать, чтобы при вставке строки из буфера обмена, первое событие с пустой строкой пропускалось?
Изменение значения tStringEdit
Модератор: Модераторы
tStringEdit, Это из какой бибилотеки?
- Attid
- долгожитель
- Сообщения: 2588
- Зарегистрирован: 27.10.2006 17:29:15
- Откуда: 44°32′23.63″N 41°2′25.2″E
- Контактная информация:
t-ea
используй onsetvalue, и внутри процедуры используй проверку на avalue
Добавлено спустя 1 минуту 41 секунду:
это МСЕ, читаем в каком форуме тема.
используй onsetvalue, и внутри процедуры используй проверку на avalue
Добавлено спустя 1 минуту 41 секунду:
Logo писал(а):tStringEdit, Это из какой бибилотеки?
это МСЕ, читаем в каком форуме тема.
Не-е, для моей текущей идеи не подходит, так как OnSetValue срабатывает только при покидании «контрола».
При нажатии символьной клавиши, Backspace или Delete событие не вызывается.
При нажатии символьной клавиши, Backspace или Delete событие не вызывается.
