Wyświetlanie w Combobox zawartości kolumny DBGrid - PROBLE

0

Siema!

No więc właśnie mam z tym problem.
W Combobox wyświetla mi komórkę kolumny, na której jest obeznie zaznaczony ten czarny trójkącik z lewej strony tabeli :(
A ja chcę całą długość (dane z góry na dół) kolumny wyświetlić w Comobobox.

Wie ktoś jak to zrobić?
Ja już nic nie potrafię zrobić z tej sprawie :(
Dzięki za pomoc! [browar]

0

Spróbuj pobawić się kontrolką TDBLookupComboBox.
A jeżeli zależy Ci na ComboBoxie to musisz w pętli odczytywać każdy rekord i dodawać do ComboBoxa jakoś tak: DBComboBox1.Items.Add(s);

0

Żebym to ja jeszcze umiał napisac taką pętlę :( Ale spróbuję.

0

To użyj DBLookupComboBox, zero kodu i wyświetla wszystkie rekordy.
Ustawienia:
DataSource - wiadomo, TDataSource tabeli w której zapisujesz wartości
DataField - w którym polu ma sie zapisywać
ListSource - TDataSource tabeli z której pobierasz wartości do listy
ListField - pole z którego pobierasz wartości do listy
KeyField - tu jest trochę zagmatwane, pole z tabeli z której pobierasz i które będzie zapisywane w tabeli docelowej, może być inne niż ListField (naprawdę użyteczna rzecz)
I tyle, zero kodu :P

A pętelka do ComboBoxa powinna wyglądać jakoś tak: (nie testowane)

Table1.First;
  while not Table1.Eof do
     begin
        DbComboBox1.Items.Add(Table1.FieldByName('NazwaPola').asString);
        Table1.Next;
     end;

powinno zadziałać, choć pisane z głowy.

0

Ostatnio miałem podobny problem(musiałem przelecieć wszystkie rekordy :P), niestety tutaj nikt mi nie był w stanie pomóc, a rozwiązanie jest banalne:

table.first;
for i:=0 to table.recordCount - 1 do table.next;

w taki sposób mozna trawersować całą bazę danych.
Najpierw masz zaznaczony jeden rekord, potem drugi itd.

Rekord, który masz zaznaczony to pewnie już wiesz, jak na nim operować :)

0

Szprytne lecz działa :) :d Dzięki Juhas :d

0

teles40: no rewelacja :) Działa wyśmienicie!!! Dzięki wam wielkie!! :) [browar]

0

Witam
Jak mozna ustawic w DBLookupComboBox zeby wyswietlalo tylko unikalne rekordy, czyli np jak mam w tabeli 3 razy niebieski to zeby w combobox wyswietlalo tylko 1 raz ?

0

Może zrób sobie distinct w zapytaniu - ale to tak tylko strzelam, bo pewnie wtedy nie będziesz miał id'ka. Myślę że to nieco przeczy idei tej kontrolki ....

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