Mam przykładowy projekt, w którym chciałbym zrobić wydruk raportu w grupach. Wszystko byłoby fajnie, gdyby nie to, że drukuję mi się tylko pierwsza z grup. Co robię źle? W załączeniu kod.
unit unit2;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, LR_Class, LR_DSet, Forms, Controls, Graphics,
Dialogs, Grids, StdCtrls;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
frReport1: TfrReport;
frUserDataset1: TfrUserDataset;
StringGrid1: TStringGrid;
procedure Button1Click(Sender: TObject);
procedure frReport1GetValue(const ParName: String; var ParValue: Variant);
procedure frUserDataset1CheckEOF(Sender: TObject; var Eof: Boolean);
procedure frUserDataset1First(Sender: TObject);
procedure frUserDataset1Next(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
lp: longint;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.frUserDataset1CheckEOF(Sender: TObject; var Eof: Boolean);
begin
//EOF:=lp>Stringgrid1.RowCount-1;
If frUserDataSet1.RecNo=StringGrid1.RowCount-1 then Eof:=true;
end;
procedure TForm1.frReport1GetValue(const ParName: String; var ParValue: Variant
);
begin
If ParName='Produkt' then ParValue:=Stringgrid1.Cells[0,lp];
If ParName='Grupa' then ParValue:=Stringgrid1.Cells[1,lp];
If parName='Cena' then ParValue:=Stringgrid1.Cells[2,lp];
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
frReport1.LoadFromFile(AppendPathDelim(ExtractFilePath(Application.ExeName))+'test2lrf.lrf');
frReport1.ShowReport;
end;
procedure TForm1.frUserDataset1First(Sender: TObject);
begin
lp:=1;
end;
procedure TForm1.frUserDataset1Next(Sender: TObject);
begin
Inc(lp);
end;
end.
- testlrf.rar (3 MB) - ściągnięć: 251