![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ComboBox и ID выбранного элемента [D6]
AlexMey © (2002-05-20 02:27:00)Уважаемые мастера и подмастерья.
Подскажите...
У меня есть несколько таблиц справочников - структура: ID, текстовое значение
Например: Справочник Цвет волос:
1 рыжие
2 русые
3 чёрные
...
при выборе данных из базы для таблиц такого типа обычно используют элемент типа ComboBox.
И при выборе элемента из ComboBox мы можем определить только текстовое значение, хотя меня больше интересует именно его ID.
А для получения ID мне приходиться каждый раз сравнивать текст выбранного пункта с полем. :-(
Подскажите, как мне можно сразу получить ID выбранного элемента. Наверняка, это как-то просто решается, как, к примеру, в Web программмировании - когда на сервер при отсылке формы передаётся именно value значения выбранного элемента из списка, а не его текст.
Заранее бдагодарен, Александр.
Dimaiv (2002-05-20 17:19:00) [1]ID:=ComboBox1.ItemIndex+1 (Это сработает если ID у тебя идет по
порядку т.е. 1.2.3.4.5 и т.д)
Lusha (2002-05-20 14:22:00) [2]>AlexMey © (20.05.02 02:27)
Настоятельно рекомендую прислушаться к fnatali © (20.05.02 06:24)...
Meow (2002-05-20 13:49:00) [3]а вот тебе примерчик как добавить:
with dmMain.taTransports do
try
Open;
cbTransports.Items.Clear;
if not IsEmpty() then
while not eof do
begin
cbTransports.Items.AddObject(FieldByName("name").AsString,Tobject(FieldByName("id").AsInteger));
Next;
end;
Close;
except
;
end;
а вот - как получить id-шник:
iID:=integer(cbTransports.Items.Objects[cbTransports.ItemIndex]);
Леха_ (2002-05-20 09:56:00) [4]У TStrings(а это в том числе и Items комбобокса) есть свойство Objects
с помощью преобразования типов запихиваешь в это свойство ID вот и все
fnatali (2002-05-20 06:24:00) [5]Попробуй DBLookupComboBox