Если проще, то нужен аналог dbLookupBuffer.
Теперь подробнее:
Объявление типа и переменной (сокращённо):
- Код: Выделить всё
Type AType = record
Name : string;
Numer : integer;
end;
Const AVar : array[1..2] of AType = ((Name: 'Первое'; Numer: 1), (Name: 'Второе'; Numer: 2));
Сейчас я на основе AVar.Name заполняю DropdownListEdit, после использования DropdownListEdit ищу в AVar выбранное значение и беру соответствующее AVar.Numer.
Размер массива Avar разный, в среднем 30 элементов, часто меняется, поэтому заносить в базу и использовать tDBLookupBuffer смысла нет.
Наверняка это всё уже реализовано родными компонентами MSE, но я не могу найти какими.
В KeyStringEdit всё работает так как мне надо до того момента, пока у всех строк разные Numer. Как только появляются одинаковые значения, например AVar[2].Numer тоже стало равно 1, то при выборе в KeyStringEdit значения
'Второе', компонент после закрытия списка отображает
'Первое', т.е. Numer я получаю правильный, но не могу определить какой Name был выбран.