dblookupcombo czy zwykły combobox

0

Witam

Przedstawiam cześć mojej bazy http://img691.imageshack.us/img691/8104/wydziay.jpg
Chciałbym w jednym comboboxie wyświetlić zawartość wiersza z tabeli wydziały a dokładnie pełna_nazwa

Zrobiłem to tak

begin
form15.ibtwydzial.First;
  while not form15.ibtwydzial.Eof do
     begin
        ComboBox1.Items.Add(form15.ibtwydzial.FieldByName('pelna_nazwa').asString);
       form15.ibtwydzial.Next;
end;

chciałbym teraz żeby w kolejnym comboboxie wyswietliły mi się tylko te katedry przypisane do tego konkretnego wydziału. Jak to zrobić? Czy nie łatwiej by było użyć dblookupcombo? Mam jeszcze takie pytanie czy jest jakaś możliwość wpisania do tabeli zamówienia id_wydziału przypożądkowanemu pelnej_nazwie z comboboxa1 ?? Czy musze robić kolejnego edita który będzie wyświetlał id_wydzialu??

0

Użyj DBLookupComboBOX:

Z mojego programu:

Właściwości:
ListSource np. na DataSource1
List|Field np. Nazwisko;Imie
KeyField np. Imie

na końcu

//wybierasz kategorie prawka z DBLX a do Edit podaje cenę
procedure TForm1.DBLookupComboBox1Click(Sender: TObject);
begin
begin
  if IBQuery1.RecordCount>0 then
   begin
    Edit4.Text :=IBQuery1.FieldValues['CENA'];
    end;
end;
end;

Pokombuj sobie teraz.
Pozdro. :-)

0

cos mi to nie wychodzi wyświetla mi jedynie jedną pozycję z nazwą katedry :/ Pewnie źle coś robię. Nie masz możę jakiejś instrukcji dotyczącej obsługi tego komponenty bo bardzo ułatwił by mi pracę :)

0

Wszystko dobrze robisz tylko rozciągnij ten Komponent tak żeby miał

Width := 500;

:)

0

nadal nie działa tak jak trzeba. rozszerzenie nic nie pomaga. Jak wezmę rozwijanie tej listy to wyświetla się jedna pozycja. Dopiero jak klikne na te niewidoczne strzałki po bokach listy i zamknę listę to wyświetla się wiecej pozycji :/

0

Coś masz stirowane w kodzie. U mnie wsio działa. Weź sobie na nowym projekcie wstaw bazę i DBLX komponent i zrób wzorem moim i powinno działać.

1 użytkowników online, w tym zalogowanych: 0, gości: 1