在报表(FastReport)中动态载入jpg照片,预览时所有的记录都显示的是一张照片
问题:如题,代码如下:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ADODB, DB, FR_DSet, FR_DBSet, FR_Class, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
ADOConnection1: TADOConnection;
ADOTable1: TADOTable;
frReport1: TfrReport;
frDBDataSet1: TfrDBDataSet;
DataSource1: TDataSource;
ADOQuery1: TADOQuery;
procedure Button1Click(Sender: TObject);
procedure frReport1BeforePrint(Memo: TStringList; View: TfrView);
private
{ Private declarations } PV:TfrPictureView;
procedure LoadPhoto;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
frReport1.LoadFromFile('d:\kwbm\zkz.frf');
PV:=(frReport1.FindObject('Picture1') as TfrPictureView);
frReport1.ShowReport;
end;
procedure TForm1.LoadPhoto;
var
S,FileName:String;
begin
FileName:= trim(ADOTable1.FieldByName('zp').AsString);
if FileExists(FileName) then
begin
PV.Picture.LoadFromFile(FileName);
end;
end;
procedure TForm1.frReport1BeforePrint(Memo: TStringList; View: TfrView);
begin
LoadPhoto
end;
end.