Lazarus 3.0 (2023.12.21.)
Letöltés

  • Oldal:
  • 1

TÉMA:

Master - detail 2015 nov. 19 12:46 #1566

  • makgab
  • makgab profilkép Témaindító
  • Törzsgárda tag
  • Törzsgárda tag
  • Hozzászólások: 280
  • Köszönetek: 1
Üdv!
A master-detail példát próbálom Lazarus-ban: wiki.freepascal.org/MasterDetail
A különbség nálam, hogy PgSQL alatt van a DB:
master table: id,name,desc
detail table: detid,id,detailname
A master DBGrid+DBNavigator és a detail DBGrid+DBNavigator beállítva. A detail táblában az idegen kulcs is meg van adva adatbázis szinten.
Mi kell ahhoz, hogy a master Grid-ben álló rekordhoz tartozó detail Grid a detail rekordokat hozza fel?
A detail Gridben az SQL:
SELECT * FROM detail WHERE id=:id;

Most csak így működik a dolog, hogy a masterSQLQuery AfterScroll eseményébe:
procedure TForm1.SQLQuery1AfterScroll(DataSet: TDataSet);
begin
  // after scroll
  SQLQuery2.ParamByName('id').AsInteger:=SQLQuery1.FieldByName('id').AsInteger;
  // refresh detail records
  SQLQuery2.Close;
  SQLQuery2.Open;
end;

Mi lenne a szép megoldás?

  • Oldal:
  • 1