Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Načítanie do labelov pri pohybe po DBGride pomocou ADOQuery

Tak opäť som narazil na problém. Pôvodne som mal údaje v DBGride zobrazené pomocou ADOTable a v udalosti DBGrid3DrawColumnCell som mal asi takýto kód:

If gdSelected in State then begin
HlavnyFormular.TableKontakty.First;
while not HlavnyFormular.TableKontakty.Eof do begin
if TableObjednavky.FieldByName('KontaktyID').AsInteger=TableKontakty.FieldByName('KontaktyID').AsInteger then begin
Label1.Caption:=HlavnyFormular.TableKontakty.FieldByName('NázovSpoločnosti').AsString;
.
.
.
end;
TableKontakty.Next;
end;
 dbgrid3.DefaultDrawColumnCell(Rect, DataCol, Column, State);

Nakoľko som ale mal problémy s mazaním (údaje som síce z tabuľky vymazal ale grid ich stále zobrazoval, nejak zostávali stále v pamäti) tak som sa rozhodol pokúsiť sa údaje do labelov načítavať pomocou ADOQuery a SQL dotazu. A teraz moja otázka ako to zrealizovať? pokúsil som sa nejak takto:

If gdSelected in State then begin
 with ADOQuery4 do
  begin
    Active:=false;
    SQL.Clear;
    SQL.Add('SELECT * FROM Kontakty, Objednavky WHERE Objednavky.KontaktyID=Kontakty.KontaktyID');
    Active:=true;
  end;
   Label1.Caption:=ADOQuery4.FieldByName('NázovSpoločnosti').AsString;
.
.
.

ale vôbec to nemení údaje, pri pohybe po gride. načíta prvý a finiš. Neviem ako zosmoliť ten SQL príkaz aby to načítavalo údaje do tých labelov vždy pri zmene riadku v dbgride.Alebo mám zle aj priraďovanie do labelu?
ďakujem za rady...

edit: v tom prvom prípade bolo súčasťou aj načítavanie do druhého grido pomocou ADOQuery a to mi fungovalo dobre ale pomocou table som nacitaval cislo IDObjednavky, ktoré som potom pouzil na SELECT v SQL príkaze takže mal jasny identifikátor.

Předmět Autor Datum
Pokud pouzijes DBLabel, nemusis se o to starat, pouze napojis na stejny datasource jako grid. Pokud…
Jan Fiala 17.04.2009 08:46
Jan Fiala
Tak táto možnosť ma ani nenapadla. Ďakujem za radu.Vyskúšam.
Rado 17.04.2009 08:55
Rado
Takže všetko funguje tak ako má pri udalosti DataSorce.DataChange(potrebujem totiž ešte v ďaľšom gri… poslední
Rado 17.04.2009 10:41
Rado

Takže všetko funguje tak ako má pri udalosti DataSorce.DataChange(potrebujem totiž ešte v ďaľšom gride zobrazovať údaje o objednanom tovare ). Reaguje to na kliknutie, zmenu riadku šípkou.Na scroll na myši to však nereaguje... Ak by ste mi ešte mohli poradiť ako na to bolo by to dokonalé.Ale ak nie postačí mi to aj takto.:-) Ešte raz ďakujem za radu. Vyriešilo sa mi zase veľa problémov.

Zpět do poradny Odpovědět na původní otázku Nahoru