![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
настоящий ComboBox в DBGride [D6, MSSQL]
Инна © (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"е ?