У меня есть таблица с полями ID и Name. По ней я создал sq_Query, который выбирает данные. По sq_Query я создал ds_Query, в котором в качестве запроса на выборку указал sq_Query.
Далее я создаю на некоей форме невизуальный елемент dlData, в котором в качестве Dataset указываю ds_Query. Дальше я создаю елемент Lookup Control, в котором в качестве LookupDatasetLink указываю dlData и IsSimpleSelect устанавливаю в True.
Я хочу, чтобы при отображении формы в елементе с выпадающим списком отображался первый елемент выборки.
Как ето сделать?
Нравится
Можно в форму в OnPrepare что-то типо такого написать:
if (dlData.Dataset('ID') == null) { var QueryDataset = Services.GetNewItemByUSI('ds_Query'); QueryDataset.Close(); //Добавляем фильтры, если надо QueryDataset.Open(); QueryDataset.GoToFirst(); if (!QueryDataset.IsEOF) {//Если вдруг не найдет, то ничего не делаем dlData.Dataset('ID') = QueryDataset('ID'); } }
Надеюсь мой код более менее поможет
Я так понял, что установка текущего значения сводится к присвоению ID.
Я создал две кнопки. Одна устанавливает значение, другая проверяет:
function ButtonOnClick(Control) { //TODO dlSignatures.Dataset.Open(); dlSignatures.Dataset('ID') = '{0A95DB2D-E91A-456B-B7AF-91DE090D7AA9}'; ShowInformationDialog(dlSignatures.Dataset('ID')); } function Button1OnClick(Control) { //TODO ShowInformationDialog(dlSignatures.Dataset('ID')); }
Вторая кнопка всё правильно показывает. но в елементе так и не отображается значение. Может его самого как-то "дёрнуть" надо?
Всё, нашёл.
LookupControl у меня зовётся elControl:
elControl.Value = dlQuery.Dataset('Name'); //Вместо Name нужно указать поле, к которому елемент привязан
если вам нужно
"Малахов Дмитрий" написал:чтобы при отображении формы в елементе с выпадающим списком отображался первый елемент выборки.
то надо на событие AfterAppend датасета поставить значение по-умолчанию для этого поля