Какой «выпадающий список» выбрать?

Вопросы программирования и использования MSEide + MSEgui.

Модератор: Модераторы

Какой «выпадающий список» выбрать?

Сообщение t-ea » 22.09.2008 18:56:30

Для чего предназначено такое множество DropDownEdit'ов? Для каких ситуаций они предназначены?

Есть список двух элементов — имя и число, например: (Андрей, 5), (Борис, 1), (Виктор, 3), (Глеб, 1).
При использовании tKeyStringEdit при выборе Глеба, в списке активным всё равно окажется Борис, т.к. у него то же число — 1.

Случай довольно частый и легко решаемый стандартными элементами MSE, но я не знаю как…
t-ea
новенький
 
Сообщения: 98
Зарегистрирован: 22.09.2006 00:22:34

Re: Какой «выпадающий список» выбрать?

Сообщение Attid » 23.09.2008 09:52:59

t-ea писал(а):Для чего предназначено такое множество DropDownEdit'ов?

а хз, мартина прет наверно от них =) я tdropdownlistedit только юзаю.



остальное не понял, все там работает и часто использую и БД и не БД , тебе отоброжать надо сколько элементов ?
обьясни подробнее или прикрепи пример.
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Re: Какой «выпадающий список» выбрать?

Сообщение t-ea » 23.09.2008 18:50:29

Если проще, то нужен аналог 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 был выбран.
t-ea
новенький
 
Сообщения: 98
Зарегистрирован: 22.09.2006 00:22:34

Re: Какой «выпадающий список» выбрать?

Сообщение debi12345 » 24.09.2008 20:44:52

Самый простой способ - использовать tenumedit :
--------
dropdown.cols[0]: // строки добавляется Ctrl+Shift+Ins
[0]:= '--- выберите оператора ---'
[1]:= 'Ирода'
[2]:= 'Света'
[3]:= 'Муаззам'
min:= 1
value:= 0
---------
прикажет '--- выберите оператора ---', но заставит выбрать кого-нибудь из 1...3 (это и будет выходное значение "value" ).

Добавлено спустя 8 минут 24 секунды:
AVar[2].Numer тоже стало равно 1, то при выборе в KeyStringEdit значения 'Второе', компонент после закрытия списка отображает 'Первое', т.е. Numer я получаю правильный, но не могу определить какой Name был выбран.

Включайте в список больше одного столбца ( имя и код ) : dropdpown.cols.count >= 2 ( в VALUE будут заноситься значения столбца VALUECOL). Неоднократно приходилось так делать, когда сталкивался с неуникальностью кодов.

Добавлено спустя 25 секунд:
AVar[2].Numer тоже стало равно 1, то при выборе в KeyStringEdit значения 'Второе', компонент после закрытия списка отображает 'Первое', т.е. Numer я получаю правильный, но не могу определить какой Name был выбран.

Включайте в список больше одного столбца ( имя и код ) : dropdpown.cols.count >= 2 ( в VALUE будут заноситься значения столбца VALUECOL). Неоднократно приходилось так делать, когда сталкивался с неуникальностью кодов.
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5761
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Re: Какой «выпадающий список» выбрать?

Сообщение t-ea » 25.09.2008 20:13:18

Спасибо. Я всё-таки пока остановился на tKeyStringEdit.
Оказалось что я в коде менял значение ValueCol, поэтому и не работало как надо. Сейчас всё нормально.
t-ea
новенький
 
Сообщения: 98
Зарегистрирован: 22.09.2006 00:22:34


Вернуться в MSEide + MSEgui

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Рейтинг@Mail.ru