![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TDBComboBox [D6, Paradox]
Timka © (2002-05-10 17:01:00)Прошу подсказку :
a) Как в TDBComboBox и/или для
DBGrid1.Columns.Items[3].PickList.add()подгрузить все значения выбранного поля таблицы, используя TQuery ?????
б) что нужно сделать для того, чтобы в TDBComboBox и/или для
DBGrid1.Columns.Items[3].PickList значение строки/ячейки изменялось на выбранное в выпадающем списке?
для TDBComboBox пробовал назначить строку с другим индексом, но что-то не получается....
Timka (2002-05-15 15:41:00) [1]> Desdechado
спасибо, работает....
> VAleksey
нет, статический. странно почему PickList не подгружается..... я так понял, что в принципе к этим способам замечаний нет?
VAleksey (2002-05-14 06:17:00) [2]НД - обновляемый ?
Desdechado (2002-05-13 20:43:00) [3]поставь своему квери CachedUpdates=true и UpdateSQL добавь.
если не получится, пришлю пример мылом
Timka (2002-05-13 18:11:00) [4]>VAleksey
>Desdechado
Да, TQuery у меня набор данных ( через select)и источник для PickList, PickList заполнял двумя способами :
DBGrid1.Columns.Items[3].ButtonStyle := cbsAuto;
while not dmSQLtrening.Query2.Eof do
begin
{ DBGrid1.Columns.Items[3].PickList.add(dmSQLtrening.Query2.FieldValues["namepr"]);
dmSQLtrening.Query2.Next; }
;
DBGrid1.Columns.Items[3].PickList.Add(dmSQLtrening.Query2namepr.AsString);
dmSQLtrening.Query2.Next;
end;
явно датасет,Grid,поле в гриде ReadOnly = false,
но список не выпадает...
>Desdechado
Desdechado (2002-05-13 16:47:00) [5]наверно, датасет ReadOnly, или Grid, или поле в гриде
VAleksey (2002-05-13 14:24:00) [6]> a) Как в TDBComboBox и/или для
> DBGrid1.Columns.Items[3].PickList.add()подгрузить все значения
> выбранного поля таблицы, используя TQuery ?????
ТЫ Query используешь как НД ? или с его помощью надо заполнить PickList ?
Да в общем все равно.
Если надо заполнить PickList я на активацию формы пишу процедуру, которая заносит в PickList значения поля нужной таблицы. В общем ты же сам написал
DBGrid1.Columns.Items[3].PickList.add()>
> б) что нужно сделать для того, чтобы в TDBComboBox и/или
> для
> DBGrid1.Columns.Items[3].PickList значение строки/ячейки
> изменялось на выбранное в выпадающем списке?
Выбрать это значение в списке -:) !
Timka (2002-05-13 12:40:00) [7]такое-то лукап-поле я сделал, книжки толстые под рукой :), но при переходе в гриде на этот столбец никакой реакции, при двойном щелчке - просто выделяется содержимое. А список справочных значений - не выпадает. Потому и грущу.... Может, ещё что-то надо?
Desdechado (2002-05-11 19:25:00) [8]немного теории.
1. квери, которая читает справочник (ID, NAME)
2. в датасете, который под гридом, создаешь лукап-поле на основании его поля ID, ссылающегося на поле ID квери-справочника. при этом указываешь, что отображаться в лукап-поле будет NAME из справочника
3. при переходе в гриде на это поле будет возможность выбрать текст, а в поле ID под гридом подставится соответствующее значение ID из справочника
естественно, список отображаемых полей в квери под гридом придется указывать явно (НП в дизайн-тайме)
Timka (2002-05-11 17:44:00) [9]> TSV
Уже использовал. Вокруг ТРИ ТОЛСТЕННЫХ КНИГИ!!!! Архангельский прогр. в Дельфи 5 и справочник его-же по 6. и ещё есть. В глазах уже.... но, видимо, чего-то не догоняю. тут нет как в ТТабле btnStyle!!! а мне нужно, чтоб выпадал списочек возможных значений. через SQL. в Grid. Или это в принципе невозможно?
TSV (2002-05-11 16:29:00) [10]Как добиться?
Использовать для этого (для LookUp) еще один TQuery...
Удачи. И почитай книги. :-)
Timka (2002-05-11 16:22:00) [11]к сожалению, я не понял, как добиться того, чтоб в LookUp-поля подгружалось содержимое таблицы... поэтому и начал заморачиваться с TDBGrid
Desdechado (2002-05-11 10:38:00) [12]попробуй использовать LookUp-поля. очень удобная вещь, именно для этого