Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.02;
Скачать: CL | DM;

Вниз

DBComboBox   Найти похожие ветки 

 
Viktor   (2003-05-12 05:33) [0]

Привет мастерам!
Возникла такая проблема.
Необходимо выбрать из таблицы строку при помощи DBComboBox"a

его заполняю
while not Tab.Eof do
begin
DBComboBoxList.Items.Add(Tab.FieldByName("Name").Value);
Tab.Next;
end;

Проблема в том, что теперь я не знаю ID выбранного элемента

Как все это решить?
Заранее благодарен


 
ЮЮ ©   (2003-05-12 06:03) [1]

DBComboBox предназначен совсем для другого "Use TDBComboBox to allow users to change the value of a field on the current record in a dataset either by selecting an item from a list or by typing in the edit box part of the control."

Используй или DBLookupCombobox (см.KeyValue) или обычный ComboBox
(ComboBox.Items. AddObject(Tab.FieldByName("Name").Value,TObject(Tab.FieldByName("ID").asInteger));



 
Viktor   (2003-05-13 01:35) [2]

Я не очень все понял. DBLookupCombobox мне не нужен.
Нужен выпадающий список.
У меня есть запрос, который возвращает список комплектующих определенного типа (Id, Name, FullName).
мне необходимо выбрать из этого списка (по наименованию) строку
Пользователь видит только наименование.
Посоветуйте, что именно мне использовать в таком случае.


 
Zacho ©   (2003-05-13 01:41) [3]


> Viktor (13.05.03 01:35)
> Посоветуйте, что именно мне использовать в таком случае.

Что угодно. Зависит от задачи, твоих способностей и фантазии.
Собственно, ответ есть ЮЮ © (12.05.03 06:03)
" или обычный ComboBox
(ComboBox.Items.AddObject(Tab.FieldByName("Name").Value,TObject(Tab.FieldByName("ID").asInteger));"



 
ЮЮ ©   (2003-05-13 02:51) [4]

>DBLookupCombobox мне не нужен
Именно DBLookupCombobox позволяет показывать список, организованный на основании запроса и не надо самому бегать по НД и формировать список и при этом, если у него не указывать DataSource, то он уже не является DB-Aware компонентом а его св-во KeyValue содержит значение ключевого поля списка.

>Я не очень все понял. DBLookupCombobox мне не нужен.
Тогда по русски: используйте TDBComboBox, чтобы позволить пользователю изменять значение поля текущей записи набора данных как путём выбора элемента списка, так и непосредственным вводом в окно.
Т.е. тебе не нужен именно DBLookupCombobox, который предназначен именно для редактирования поля, а DBLookupCombobox кроме редактировния (но уже ключевого поля) можно использовать и просто для выбора записи из ListSource


 
Viktor   (2003-05-13 06:00) [5]

Вот попробовал и опять ничего не понял
вызываю своюпроцедуру:
QSash.Open;
ComboBoxItemsAdd(QSash, "Id", PESash);

procedure TFrmSelectionAccessories.ComboBoxItemsAdd(Tab: TADOQuery; FieldName: String; PickEdit: TDBComboBox);
begin
PickEdit.Items.AddObject(Tab.FieldByName("Name").Value,TObject(Tab.FieldByName(FieldName).asInteger));
end;

в выпадающем списке как и было только одна строка для выбора
объясните плиз подробнее


 
Viktor   (2003-05-13 06:15) [6]

Если в DBLookupCombobox не указывать DataSource и DataField,
то можно работать как с обычным List?


 
ЮЮ ©   (2003-05-13 07:46) [7]

>в выпадающем списке как и было только одна строка для выбора
объясните плиз подробнее
А где сканирование НД?
Tab.First;
While not Tab.EOF do begin
PickEdit.Items.AddObject(
Tab.FieldByName("Name").Value,
TObject(Tab.FieldByName(FieldName).asInteger)
);
Tab.Next;
end;
А чтобы этого не делать и используют DBLookupCombobox

И ещё раз повторяю, этот компонент для редактирования текущей записи набора данных

>Если в DBLookupCombobox не указывать DataSource и DataField,
то можно работать как с обычным List?
Ну не совсем обычным, но практически.





 
Leshiy ©   (2003-05-13 07:58) [8]

Возьми DBComboBoxEh из EhLib.


 
Viktor   (2003-05-13 17:08) [9]

Спасибо всем - разобрался.
Не туда смотрел.



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

Текущий архив: 2003.06.02;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.025 c
1-2855
cheg
2003-05-21 16:39
2003.06.02
Про TObject.Free


14-3092
Deus
2003-05-13 16:42
2003.06.02
Ваше отношение к компьютерным клубам.


1-2867
NewN
2003-05-22 10:18
2003.06.02
Чтение, просмотр файла, алгоритм.


14-3170
PVOzerski
2003-05-15 11:07
2003.06.02
Как в W2K сделать NUMLOCK по умолчанию ON?


14-3156
АлеКо
2003-05-15 03:53
2003.06.02
InstallShield