Autor Téma: FastReport - Zle zobrazenie údajov pri runtime  (Přečteno 387 krát)

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 6165
  • Karma: 44
    • Verze Delphi: W10 + D11
FastReport - Zle zobrazenie údajov pri runtime
« kdy: 29-10-2021, 18:33:55 »
Pri spustení ručne v čase návrhu je všetko ako má byť. V RunTime vytváram všetko dynamicky.
  • Všetky komponenty majú správneho vlastníka (dtmdBasic)
  • Všetky vlastnosti sú nastavené presne ako v DataModule, ktorý používam na tvorbu zostáv
Chyby (viď prílohu):
  • Všetci vlastníci sa opakujú v každom byte
  • Užívatelia sa nezobrazia vôbec
Z charakteru chyby mi vyplýva, že sa neuplatňuje vplyv DataSource. Ja na to nevidím dôvod
Kód: Delphi [Vybrat]
  1. const
  2.   IDLF = 'IDOWNER_FLAT';
  3. begin
  4.   FdsFlat := TDataSource.Create(dtmdBasic);
  5.   FdsFlat.DataSet := FQry;
  6. //**********************************************
  7.   FqryOwner := TFDFunction.NewQry(dtmdBasic);
  8.   FqryOwner.MasterSource := FdsFlat;
  9.   FqryOwner.IndexFieldNames := IDLF;
  10.   FqryOwner.MasterFields := IDLF;
  11.   FDBdsOwner := TfrxDBDataset.Create(dtmdBasic);
  12.   FDBdsOwner.UserName := 'FocOwner';
  13.   FDBdsOwner.DataSet := FqryOwner;
  14.   FdsOwner := TDataSource.Create(dtmdBasic);
  15.   FdsOwner.DataSet := FqryOwner;
  16. //**********************************************
  17.   FqryUser := TFDFunction.NewQry(dtmdBasic);
  18.   FqryUser.MasterSource := FdsOwner;
  19.   FqryUser.IndexFieldNames := IDLF;
  20.   FqryUser.MasterFields := IDLF;
  21.   FDBdsUser := TfrxDBDataset.Create(dtmdBasic);
  22.   FDBdsUser.UserName := 'FocUser';
  23.   FDBdsUser.DataSet := FqryUser;
Vie niekto kde je zrada?
W10 64b, Delphi 10.4, FireBird 3.08
Expert na kladenie nejasne formulovaných otázok.

Offline Jirka

  • Hrdina
  • ****
  • Příspěvků: 448
  • Karma: 9
    • Verze Delphi: XE2
Re:FastReport - Zle zobrazenie údajov pri runtime
« Odpověď #1 kdy: 30-10-2021, 12:20:32 »
Nevím zda to může být tímto
ale pro správnou konstrukci M/D
potřebuji toto nastavení
Citace
     // Důležité pro MASTER-DETAIL !!
    DataSetVirtual2.DataSource := SoVirtual1;



Kód: Delphi [Vybrat]
  1.   FrxDataSet01.DataSet := DataSetVirtual1;
  2.     FrxDataSet01.UserName := 'FakturaHlavicka';
  3.  
  4.     DataSetVirtual1.Close;
  5.     DataSetVirtual1.SQLs.SelectSQL.Text := SQL_01;
  6.     DataSetVirtual1.Open;
  7.  
  8.     FrxDataSet02.DataSet := DataSetVirtual2;
  9.     FrxDataSet02.UserName := 'FakturaRadky';
  10.  
  11.     DataSetVirtual2.Close;
  12.  
  13.      // Důležité pro MASTER-DETAIL !!
  14.     DataSetVirtual2.DataSource := SoVirtual1;
  15.  
  16.     DataSetVirtual2.SQLs.SelectSQL.Text := SQL_02;
  17.     DataSetVirtual2.Open;
  18.  
  19. ....
  20.  
  21.  

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 6165
  • Karma: 44
    • Verze Delphi: W10 + D11
Re:FastReport - Zle zobrazenie údajov pri runtime
« Odpověď #2 kdy: 30-10-2021, 14:49:55 »
Hm, v čase návrhu sa to tam doplňuje samé. Používam DataSource. Za vyskúšanie nič nedám.
Pri skúšaní som zistil, že základný DataSet (FQry) je v čase vytvárania ostatných (tu uvedený kód) ešte nil. Problém nájdený. Ďakujem.
W10 64b, Delphi 10.4, FireBird 3.08
Expert na kladenie nejasne formulovaných otázok.