Публикация

Изменение текста в LookupDataControl

Если Вам, по какой-то причине, будет необходимо изменить текст, отображаемый в LookupDataControl без переоткрытия Dataset - это возможно реализовать следующим способом:

var SelectWindow = ...;

if (Assigned(SelectWindow)) {
        SelectWindow.Attributes('SearchValue') = 'новое значение';
        edtLookupDataControl.Notify(Self, 'MSG_OK', null);
}

,где SelectWindow это глобальная переменная скрипта, значение которой Вы можете получить через событие edtLookupDataControl.OnPrepareSelectWindow.

У этого метода есть недостаток - значение Вы не сможете поменять до того момента, пока пользователь, хотя бы раз не вызовет окно справочника из контрола.
Контрол, также, не должен быть в режиме простого выбора из списка (IsSimpleSelect).

Нравится

Поделиться

3 комментария

У этого метода есть недостаток - значение Вы не сможете поменять до того момента, пока пользователь, хотя бы раз не вызовет окно справочника из контрола.
А какой тогда в этом смысл?

А какой тогда в этом смысл?

сложно сказать :) меня попросили ответить на вопрос - я сохранил исследования в блоге. Другого
способа не существует - возможно кому-то пригодиться этот.

Спасибо, пригодилось!

Добавлю, что для того, чтобы заполнилось само значение поля можно написать:

SelectWindow.Attributes('KeyValue') = 'новый ID';
Показать все комментарии