Вниз
Скачать: CL | DM;

Вопрос по comboBox   Найти похожие ветки 

 
Юлия   (2003-09-07 19:02) [0]

Необходимо организовать выбор из DBcombobox на форме. Чтобы можно было выбирать значение из таблицы, не связанной ни с чем. Просто поле для выбора. Кладу DBComboBox, устанавливаю свойства DataSource u DataField. Отображается значение, соответствующее первой записи. Пишу table1.next, перемещается к следующей записи. Пытаюсь раскрыть для выбора значения - не получается. Как заставить список раскрываться?
Простите за глупый вопрос.


 
Юлия   (2003-09-07 19:53) [1]

неужели никто не сталкивался с такой проблемой?


 
Юлия   (2003-09-07 20:48) [2]

Если добавляю строчку в ComboBox таким образом (var p:^integer):
ComboBox1.Items.AddObject("Строка",p);
Как получить p?


 
Юлия   (2003-09-07 20:55) [3]

глупый вопрос (последний)
тихо сам с собою я веду беседу...


 
MsGuns ©   (2003-09-07 22:38) [4]

Зачем для выбора значения из статического списка (не связанним с таблицей) использовать DBComboBox ?


 
MsGuns ©   (2003-09-07 23:14) [5]

Пардон, кажется не врубился в тему. Если надо выбирать значение для какого-то поля таблицы 1 из какого-то поля несвязанной
таблицы, то можно делать:

1. Если записей таблицы 2 немного и она является редкол обновляемой, то в гриде таблице 1 в соотв.ячейке поставить просто статический список, подгружаемый запросом по таблице 2

2. Если часто обновляется и/или много записей, то табл.2 надо показывать в своем гриде на модальной форме, открываемой по клику на соотв.ячейке грида, стиль которой поставить в эллипс. При открытии формы запрос переоткрывется. Плюс этого метода в том, что можно "по ходу" вносить изменения в табл.2


 
stud ©   (2003-09-08 09:32) [6]

используй dblookupcombox


 
Sergey_Masloff   (2003-09-08 10:08) [7]

stud © (08.09.03 09:32) [6]
>используй dblookupcombox
на фига?

MsGuns © (07.09.03 23:14) [5]
>1. Если записей таблицы 2 немного...
>2. Если часто обновляется и/или много записей...
Именно так. Отличный совет который подойдет в 99.99% случаев (а начинающим - в 100%)


 
Nikolay M. ©   (2003-09-08 10:09) [8]


> используй dblookupcombox

Имхо ты или не разобрался как он работает, или что нужно автору ветки...


> ComboBox1.Items.AddObject("Строка",p);

А зачем так? Вот из справки по TDBComboBox.Items:

Contains the strings that appear in the list of the database combo box.

property Items: TStrings;

Description

Use Items to supply the values in the list from which the user can choose. Because Items is an object of type TStrings, you can add, delete, insert, and move items using the Add, Delete, Insert, Exchange, and Move methods of the TStrings object. For example, to add each string to the combo box list, write code such as the following:

while not Table2.Eof do begin

DBComboBox1.Items.Add(Table2.FieldByName("Country").AsString);

Table2.Next;

end;

The ItemIndex property determines which item is selected, if any.


 
Vlad ©   (2003-09-08 10:21) [9]

2 MsGuns © ,2 Sergey_Masloff Как вы поняли что у автора вобще есть какой либо грид ?

DBLookupCombobox судя по всему как раз то что нужно автору.
ListSource - как раз обеспечит раскрывающийся список.
И не нужно будет тогда мудрить AddObject"ом, а брать значения напрямую из DataSet


 
stud ©   (2003-09-08 10:30) [10]


> Vlad ©

это точно. проще - не бывает


 
Nikolay M. ©   (2003-09-08 10:33) [11]

А, так вот значит, как нужно понимать

> Чтобы можно было выбирать значение из таблицы, не связанной
> ни с чем

...

> stud ©

Мои извинения, полностью согласен...



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.013 c
7-96469
RomanS
2003-07-17 08:42
2003.09.29
Как программно запретить запускаться Screen Saverу


8-96307
a72
2003-06-02 14:41
2003.09.29
Компоненты для векторной графики


14-96432
jack128
2003-09-10 13:09
2003.09.29
Именинники 10 сентября


11-96158
nsvi
2003-01-08 03:24
2003.09.29
Опять по Proxies.dcu.


1-96291
Lanbo
2003-09-16 14:10
2003.09.29
NIL из Create




   Наверх