求一个reportbuilder的例子(200分)

我的家底.
procedure PrintReport(DataSet: TDataSet; TemplateFileName: string; Designer: Boolean;
Pnt: Boolean; aShowPrintDialog: Boolean = True);
var
lsDataSource: TDataSource;
lsReport: TppReport;
lsDBPipeline: TppDBPipeline;
lsDesigner: TppDesigner;
begin
lsDataSource := TDataSource.Create(Application);
lsDataSource.DataSet := DataSet;
lsReport := TppReport.Create(Application);
lsReport.PassSetting := psTwoPass;
lsDesigner := TppDesigner.Create(Application);
lsDesigner.Caption := '报表设计器';
lsDBPipeLine := TppDBPipeline.Create(Application);
with lsDBPipeLine do begin
Name := 'DBPL'; //非常重要,否则将无法在Template中保存DBPipeLine
UserName := 'DBPL';
DataSource := lsDataSource;
end;
lsDBPipeLine.DataSource := lsDataSource;
try

DataSet.DisableControls;

lsReport.CachePages := True;
with lsReport do begin
lsReport.UserName := 'Report';
DataPipeline := lsDBPipeLine;
Template.FileName := TemplateFileName;
Template.format := ftASCII;
lsDesigner.Report := lsReport;
if not FileExists(TemplateFileName) then
begin
lsDesigner.ShowModal;
// template.Save;
end
else
begin
Template.LoadFromFile;
if Designer then lsDesigner.ShowModal
else begin
if Pnt then
lsReport.DeviceType := 'Printer';
lsReport.ShowPrintDialog := aShowPrintDialog;
lsReport.Print;
end;
end;
end;
finally
lsReport.Free;
lsDBPipeline.Free;
lsDesigner.Free;
DataSet.EnableControls;
end;
end;
 
学习学习
 
值得参考
 
//printReport
//功能说明:将给定的DataSet利用RB打印输出
//参数说明:DataSet:单一数据集
// TemplateFileName:使用的模板文件名
// Designer:True:设计,False:打印
// ShowPrintDialog:是否显示打印对话框,默认情况下显示
 
顶部