Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

настоящий ComboBox в DBGride [D6, MSSQL]


Страницы:   1 2

Инна ©   (2003-05-06 02:18:00) 

как сделать, чтобы настоящий комбобокс был ячейкой? настоящий в смысле - с той возможностью хранить ID (как здесь объяснялось как-то), а не только имена. я знаю, как сделать так, чтобы был выпадающий соответсвующий список, но потом тогда придется искать в таблице сообтветсвующий ID :((( не хотелось бы лишнего писать. Спасибо!


Mike Kouzmine   (2003-05-06 12:07:00) [21]

только не onchange.
Хотя я бы сделал через Popup меню.


Oops   (2003-05-06 12:05:00) [22]

Поставить Active=false для таблицы.
Даблклік на таблице (TTable) в которую надо вставить комбобокс,
клик правой кнопкой мыши по открывшемуся окну. Выбрать New Field (Ctrl+N). Выставить имя для нового поля, тип, Field Type поставить в "Lookup".
Key Fields - ID для лукапа,
Dataset - из какаго датасета выбирать поля для подстановки
Lookup Keys - значение какого поля должно пойти в датасет когда юзер чтото выберет из комбо бокса
Result Field - какое поле подставлять вместо указаного в Key Fiedls

Если у нас таблицы: item(iID,iName) move(mID,....);
и надо вместо в таблицу move подставлять вместо mID название етого mID, то получим:
Key Fields - mID,
Dataset - item
Lookup Keys - iID
Result Field - iName

Поставить Active=true для таблицы.

Больше в хелпе :)


Mike Kouzmine   (2003-05-06 12:04:00) [23]

Ну так и сделай список объектов, а при onchange в реальное поле вставляй из списка по ItemIndex.


Sergey   (2003-05-06 11:47:00) [24]

Masloff - дело говорит! Есть у комбобокса и гридовской ячейки что-то типа Баундс (точно не помню). Вот баундсы комбобокса надо к баундсам ячейки прилудить - это на ОнДроу, а в "других случаях" комбобокс делать инвизиблом! Такая ботва в Тейкстре и Ксавье, по-моему, балы подробно с примером описана.


Sergey Masloff   (2003-05-06 11:33:00) [25]

Mike Kouzmine ©
>А ячейка и есть комбобокс...
Тут несколько не то. Насколько я понял, есть желание записывать в Objects какие-то данные, и при выборе значения в базу вставлять не Strings[i] а Objects[i]. Так вот при использовании PickList это не совсем просто, так ведь? ;-))


Инна   (2003-05-06 11:24:00) [26]

Mike, если Вы про свойство в Columns, то я знаю, если нет, то не знаю. напишите, плз, подробней


Mike Kouzmine   (2003-05-06 11:15:00) [27]

А ячейка и есть комбобокс. Смотри PickList или что-то в этом роде.


Инна   (2003-05-06 11:13:00) [28]

да мне вроде лукап ни к чему. а как вот "то на событие OnDrawColumnCell можно нарисовать поверх ячейки что угодно - в том числе и обычный ComboBox."? я думаю этим вопросом довтали точно так же как и вопросом про цветной грид :), может статья какая есть? :)


Sergey Masloff   (2003-05-06 09:04:00) [29]

Усли не хочется lookup (а на это могут быть причины) то на событие OnDrawColumnCell можно нарисовать поверх ячейки что угодно - в том числе и обычный ComboBox.


VAleksey   (2003-05-06 08:56:00) [30]

Посмотри в книгах про поля lookup


Zacho   (2003-05-06 06:34:00) [31]


> Инна (06.05.03 02:18)

Не совсем понял вопрос, но может быть подойдет обычное lookup поле в DataSet"е ?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо