Автовыбор выпадающего списка

У меня есть таблица с полями ID и Name. По ней я создал sq_Query, который выбирает данные. По sq_Query я создал ds_Query, в котором в качестве запроса на выборку указал sq_Query.
Далее я создаю на некоей форме невизуальный елемент dlData, в котором в качестве Dataset указываю ds_Query. Дальше я создаю елемент Lookup Control, в котором в качестве LookupDatasetLink указываю dlData и IsSimpleSelect устанавливаю в True.
Я хочу, чтобы при отображении формы в елементе с выпадающим списком отображался первый елемент выборки.
Как ето сделать?

Нравится

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

Можно в форму в 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 датасета поставить значение по-умолчанию для этого поля

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