Форум: "Базы";
Текущий архив: 2003.06.02;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.008 c