Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi FreeReport und StringGrids die drölfzigste (https://www.delphipraxis.net/118140-freereport-und-stringgrids-die-droelfzigste.html)

Errraddicator 1. Aug 2008 10:38


FreeReport und StringGrids die drölfzigste
 
Hiho,

so ich habe jetzt ma wieder Zeit gefunden mich damit zu beschäftigen.
Ich bin jetzt auch soweit, dass ich meine Bands im Master-Data Segment mit Daten aus dem StringGrid gefüllt bekommen.
Auch exakt so viele, wie drinne sind, also das klingt ja an sich perfekt.

Problem is jetzt nur, dasser mir automatisch pro Datensatz 1 Seite erzeugt. :D
Hat jemand eine Ahnung, woran das liegen kann / wie ich das behoben bekomme?




Danke im Voraus

cu Patrick

uwewo 1. Aug 2008 11:56

Re: FreeReport und StringGrids die drölfzigste
 
Hi Patrick,

ist schone eine Weile her das ich mit FreeReport gearbeitet habe. Aber benutze füe Deine Daten das Detail Band oder wie immer das heisst.

Errraddicator 1. Aug 2008 12:15

Re: FreeReport und StringGrids die drölfzigste
 
Hi Uwe,

hab ich mal ausprobiert, aber das ändert irgendwie auch nix. :?:
Vielleicht ist ja auch was an meinem Code falsch?


Variablen:
repPrinter ist das Report-Objekt.
repPreviewer ist das Preview-Objekt
repData ist das User-Data-Set

Hier der Funktionsteil, der das Preview anzeigt:
Delphi-Quellcode:
  // load report
  repPrinter.LoadFromFile('printReport.frf');

  // prepare report
  repMasterData := TfrBandView(repPrinter.FindObject('MasterData1') );
  if repMasterData <> nil then
  begin
    repMasterData.DataSet := 'repData';
  end;
  repData.RangeEndCount := grdData.RowCount - 1;

  // show report
  repPreviewer.Visible := true;
  repPrinter.ShowReport();
Hier der entsprechende Teil des Get-Value Handlers
Delphi-Quellcode:
    if ParName = 'Daten' then
    begin
      sValue  := grdData.Cells[0, (repData.RecNo+1)];
      sValue  := Copy(sValue, 1, 10);
      ParValue := sValue + #13#10;
    end;
Und hier das EOF-Event des frUserDataSets
Delphi-Quellcode:
  if repData.RecNo >= (grdData.RowCount - 1) then
    begin Eof := true; end
  else
    begin Eof := false; end;

uwewo 1. Aug 2008 12:38

Re: FreeReport und StringGrids die drölfzigste
 
Sorry, habe es nicht mehr so im Kopf wie ich das damals gelöst hatte.
Schau Dir mal die Demos and, die dabei sind. Eines davon ist glaube ich FRDemo dort sind alle möglichen Reports als Quellcode hinterlegt, auch ein Beispiel das Dir hilft mit dem StringGrid.

Hoffe es klappt damit.

Gruss Uwe

Errraddicator 5. Aug 2008 08:06

Re: FreeReport und StringGrids die drölfzigste
 
So hab meinen Fehler jetzt durch rumprobieren gefunden.
Mein Master Data Band ging über die ganze Seite und da er das komplette Band ja pro Datensatz kopiert, ist ja klar, dass er pro Datensatz eine neue Seite macht.

Muss man halt alles erst ma wissen. :D


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:45 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz