Изменение значения LookupContro

Доброе утро!

Есть поле типа LookupControl. При открытии окна в нём уже есть значение, по которому фильтруются записи в гриде того же окна. Если стереть это значение и начать печатать новое (не выбирая из справочника), то начинается фильтрация записей как будто это поле пустое. Можно ли сделать так, чтобы до нажатия Enter (или ок в справочнике) не начиналась фильтрация.

update: пытаюсь сделать это с событием OnKeyPress. Но при нажатии enter открывается окно справочника, а в обработчик события не заходит.

Нравится

7 комментариев

Здравствуйте, Елена!

Если я правильно поняла последовательность действий, изменить эту функциональность нельзя, т.к. это ядро. Есть ли у Вас возможность предоставить скриншоты?

Сделала через обработчик события OnKeyPress и глобальную переменную-флаг, которая меняется свое значение на true, если был открыт справочник, и false в обработчике OnKeyPress.

В зависимости от значения флага, вызывается или нет фильтрация в обработчике OnChange поля.

Здравствуйте, Елена!

В данном случае все же корректнее будет делать это на событие OnChange, поскольку OnKeyPress будет сильнее грузить систему.

В том-то и дело, что в OnChange не понятно, как произошло изменение значения поля - с открытием справочника или просто стёрли предыдущее значение.

Здравствуйте, Елена.

Получилось ли у Вас реализовать нужный Вам функционал на OnKeyPress? Возможно у Вас есть дополнительные вопросы?

Дмитрий, описанный мной метод работает. Я просто хотела узнать, есть ли более "правильный" метод.

Здравствуйте.

Базовых механизмов реализации нужного Вам функционала в конфигурации нету, поэтому правильного метода как такового нету, и реализация зависит лишь от идей разработчика по этому поводу. Ваш алгоритм не является "тяжелым" и "не логичным" - поэтому переписывать его я бы не стал.

Показать все комментарии