установка значения LookupControl
Технические вопросы
Разработка

LookupControl

Подскажите пожалуйста, как программно установить значение LookupControl?
LookupControl создаю динамически и свойства ему присваиваю после создания.
Для этого в OnPrepare окна выполняю следующий код:

NewEdit = Self.CreateComponent(Options[1], 'edt'+SearchFieldsNames[i]);
LookupDataset = Services.GetNewItemByUSI(Options[2]);
var NewDL = Self.CreateComponent('DatasetLink', 'dl'+SearchFieldsNames[i]);
if (!IsEmptyValue(Options[0]))
{
        LookupDataset.Open();
        LookupDataset.Locate('ID', Options[0]);
        NewEdit.Text =  LookupDataset.PrimaryDisplayDataField.Value;
}
NewDL.Dataset = LookupDataset;
NewEdit.LookupDatasetLink = NewDL;
NewEdit.Caption = DataFields.ItemsByName(SearchFieldsNames[i]).Caption;
NewEdit.Value = Options[0];

Но при запуске поле выглядит пустым, хотя на момент создания отладчик показывает, что свойства Text и Value установлены правильно.
При дальнейшем выборе значения пользователем оно устанавливается.
Версия программы 3.0.2.66

Нравится

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

Обновите Вашу версию в первую очередь.

Спасибо, обязательно посоветую это сделать. Но моя задача сейчас - заставить работать существующую инфраструктуру, в частности работающий Терасофт.
Это возможно?

Нужно пробовать, но у меня, к сожалению, нет этой версии. Настоятельно рекомендую обновиться хотя бы до 3.0.2.203, это бесплатно для клиентов и не составит никаких трудностей, просто обратитесь в службу поддержки. На вопросы по более высокой версии Вам будут более охотно отвечать, поищите по форуму, поймете почему.

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