本文目录
- 如何编辑和打印fastreport报表
- 如何安装使用FastReport
- FastReport可以实现连续打印吗
- FASTREPORT问题
- fastreport怎么实现网口打印
- 求助,如何用fastreport做动态报表
- fastreport 怎么绘制表格
如何编辑和打印fastreport报表
一个内置的报表依可以显示在屏幕上,也可以通过打印机打印出来,甚至还可以导出为所支持的报表格式。所有这些都可以在预览窗口中实现:
在工具栏上,你可以找到下列按钮:
你可以使用下列快捷键控制:
Ctrl+P:打印报表
Ctrl+F :搜索文本
Arrows:滚动预览
PageUp:上一页
PageDown:下一页
Page up/down:上/下页
Home:返回到首页
End:返回到最后一页
Esc:关闭预览窗口-fast
后面还有很多,我写不下来,不过题主可以用用finereport,比fastreport好用超级多,也没有这么麻烦,操作简便,更适合中国式复杂报表,题主可以试试。
如何安装使用FastReport
安装破解教程1、解压fastreport破解版安装包,然后点击“fr5_2_3_srcent.exe”开始正式的安装
2、选择“中文(简体.中国)”然后点击next
3、点击“下一步”
4、输入序列号【0043443E1D4100050C1226160F351D190D310E2028171E350A22】,然后点击“下一步”
5、勾选“是,我接受所有的授权合约”,然后点击下一步
6、点击“下一步”
7、这里直接默认选择“custom”,然后点击下一步即可
8、 选择需要安装的组件,这里自行选择,如果不熟悉,直接默认即可
9、选择软件的安装路径,这里建议默认安装即可
10、然后直接默认“下一步”即可,直到安装完成
-repo
FastReport可以实现连续打印吗
很多人认为FastReport不能实现连续打印,以为只能通过自己写函数调用打印函数来实现连续打印,实际上,FastReport可以轻易的实现连续打印,同时,实现时又是非常简单,你甚至可以在你的程序的打印设置中简单的让客户选择是否连续打印,其它都可以保持不变。
function PelsTomm(Pels:Extended):Extended;
begin
Result:=Pels/Screen.PixelsPerInch*25.4;
end;
procedure PrintSerial(Frx:TFrxReport;SequencePage:Byte=0);
var
P:TfrxReportPage;
R,R1:Extended;
begin
{必须是二遍报表,否则无法计算总页数。下面的方法只适用于没有页脚的情况,因为如果有页脚的话FreeSpace就始终为0了。可以用报表脚来代替。因为是连续打印,也可以看作只有一页,报表脚也就相当于页脚了}
if not Frx.Engine.DoublePass then Exit;
//SequencePage指要连续打印的页面,普通报表就是0
P:=TfrxReportPage(Frx.Pages[SequencePage]);
R1:=P.TopMargin+P.BottomMargin;
while Frx.PrepareReport do
begin
if (Frx.Engine.TotalPages《=1) then Break;
R:=Pelstomm(Frx.Engine.TotalPages*Frx.Engine.PageHeight-
Frx.Engine.FreeSpace)+R1;
P:=TfrxReportPage(Frx.Pages[SequencePage]);
P.PaperHeight:=R;
end;
{必须用上面的循环代码来得到准确的空白区域,不能用通过计算总页数减去各页的页边距的方法来获得空白区域,因为如果碰到一条记录过宽的情况导致换页,就不准确了。}
R:=Pelstomm(Frx.Engine.TotalPages*Frx.Engine.PageHeight-
Frx.Engine.FreeSpace)+R1;
P:=TfrxReportPage(Frx.Pages[SequencePage]);
P.PaperHeight:=R;
end;
-fast
FASTREPORT问题
fast-report有自带的例子,可以学习。由于以前用过这个东西来做报表,所以可以简单的说一下:
1.跟很多报表工具一样,fast report在设计和实现当中使用了打印域的概念,也就是fast report中的Band区域。分析一下报表的构成,无非是有报表头(report title)、页标题(pageheader)、页脚(pagefooter)、报表数据区(master data)、报表总汇(report summary)等等。设计报表就是在这些域当中放置报表元素,比如字、线、图等等。
2.报表支持变量绑定,以及数据库字段绑定,以这些机制来定义、获取和打印报表信息。在fastreport里头你要知道怎么使用变量,怎么利用fastreport的数据绑定和分派控件来与数据库链接,在链接的同时进行报表设计。
3.为了准确的获得你想要的报表数据和打印格式,你需要用fastreport提供的方法和属性来进行编程。
4.fast report自带有脚本语言,可以供在设计中利用这些脚本进行控制,其语法与Delphi非常类似。对于数据的统计,fast report也提供了强大而丰富的数学运算功能。
-repo
fastreport怎么实现网口打印
fastreport直接打印的方法如下
FastReportVCL
在FastReport VCL中,需要将打印选项的对话框设置为False,也可以用以下代码实现。
Report.LoadFromFile(’filename’);
Report.PrepareReport;
Report.PrintOptions.ShowDialog := False;
Report.Print;-fast
FastReport .NET(WinForm)
使用FastReport.Net在WinForm平台上进行报表开发,实现直接打印的方式和VCL相识,将PrintSettings对话框设置为False就行了,也可以使用以下代码实现。
Report report = new Report();
report.Load(...);
report.RegisterData(...);
report.PrintSettings.ShowDialog = false;
report.Print();-repo
FastReport .NET(WebForm)
使用FastReport ASP.Net版本开发的Web报表时,是不能直接实现直接打印报表,需要先导出为PDF后,再由Adobe Reader的打印功能间接实现。可以参考以下代码。
Report.LoadFromFile(’filename’);
Report.PrepareReport;
Report.PrintOptions.ShowDialog := False;
Report.Print;
FastReport .NET(WinForm)
使用FastReport.Net在WinForm平台上进行报表开发,实现直接打印的方式和VCL相识,将PrintSettings对话框设置为False就行了,也可以使用以下代码实现。
Report report = new Report();
report.Load(...);
report.RegisterData(...);
report.PrintSettings.ShowDialog = false;
report.Print();
FastReport .NET(WebForm)
使用FastReport ASP.Net版本开发的Web报表时,是不能直接实现直接打印报表,需要先导出为PDF后,再由Adobe Reader的打印功能间接实现。可以参考以下代码。
protected void Button1_Click(object sender, EventArgs e)
{
FastReport.Utils.Config.WebMode = true;
using (Report report = new Report())
{
report.Load("your_report.frx");
report.RegisterData(...);
report.Prepare();
// Export report to PDF stream
FastReport.Export.Pdf.PDFExport pdfExport = new FastReport.Export.Pdf.PDFExport();
using (MemoryStream strm = new MemoryStream())
{
report.Export(pdfExport, strm);
// Stream the PDF back to the client as an attachment
Response.ClearContent();
Response.ClearHeaders();
Response.Buffer = true;
Response.ContentType = "Application/PDF";
Response.AddHeader("Content-Disposition", "attachment;filename=report.pdf"); -fast
strm.Position = 0;
strm.WriteTo(Response.OutputStream);
Response.End();
}
}
}
比较麻烦,或者你可以试试FineReport,支持Flash打印,又快又方便,这里附上一张比较图。
求助,如何用fastreport做动态报表
第一次使用FReport,回头试试
原文地址:如何用FastReport制作动态报表作者:王志华
FastReport动态生成报表例子:
procedure TForm1.Button1Click(Sender: TObject);
var
v: TfrView;
b: TfrBandView;
Page: TfrPage;
begin
frReport1.Pages.Clear;
frReport1.Pages.Add; // create page
Page := frReport1.Pages;
b := TfrBandView.Create; // create Title band
b.SetBounds(0, 20, 0, 20); // position and size in pixels
b.BandType := btReportTitle; // (only Top and Height are significant
Page.Objects.Add(b); // for the band)
v := TfrMemoView.Create; // create memo
v.SetBounds(20, 20, 200, 16);
v.BandAlign := baWidth;
v.Prop[’Alignment’] := frtaCenter; // another way to access properties
v.Prop[’Font.Style’] := 2;
v.Memo.Add(’Your text is: [Edit1.Text]’);
Page.Objects.Add(v);
b := TfrBandView.Create; // create MasterData band
b.SetBounds(0, 60, 0, 20);
b.BandType := btMasterData;
b.Dataset := ’frDBDataSet1’; // band’s dataset
Page.Objects.Add(b);
v := TfrMemoView.Create; // create data field
v.SetBounds(20, 60, 200, 16);
v.Memo.Add(’[Table1.“Company“]’);
Page.Objects.Add(v);
frReport1.Pages.Add; // create second page
Page := frReport1.Pages;
Page.PageType := ptDialog;
Page.Width := 200;
Page.Height := 170;
Page.Caption := ’Test’;
v := TfrEditControl.Create; // create editbox
v.SetBounds(60, 50, 75, 21);
v.Name := ’Edit1’;
Page.Objects.Add(v);
v := TfrButtonControl.Create; // create button
v.SetBounds(60, 100, 75, 25);
TfrButtonControl(v).Button.Caption := ’Test!’;
TfrButtonControl(v).Button.ModalResult := mrOk;
Page.Objects.Add(v);
frReport1.ShowReport;
end;
-repo
fastreport 怎么绘制表格
方法有很多,具体方法如下:
1、首先准备多张报表格式,让用户根据自己的需要选择,将来打印时调用这张报表就可以了,这种方法很简单,容易实现,并且一单有新的用户要求,只要加一张报表格式就解决了。(推荐使用)
2、为用户提供报表设计器。fastreport自带的报表设计器(我们设计报表时用的就是),可以为用户设计功能很强的报表,并在发布时带上。
3、中和一下上述的两种方法,用户可以选择,也可以自定义报表。
以下FastReport动态生成报表例子:
procedure TForm1.Button1Click(Sender: TObject);
var
v: TfrView;
b: TfrBandView;
Page: TfrPage;
begin
frReport1.Pages.Clear;
frReport1.Pages.Add; // create page
Page := frReport1.Pages;
b := TfrBandView.Create; // create Title band
b.SetBounds(0, 20, 0, 20); // position and size in pixels
b.BandType := btReportTitle; // (only Top and Height are significant
Page.Objects.Add(b); // for the band)
v := TfrMemoView.Create; // create memo
v.SetBounds(20, 20, 200, 16);
v.BandAlign := baWidth;
v.Prop[’Alignment’] := frtaCenter; // another way to access properties
v.Prop[’Font.Style’] := 2;
v.Memo.Add(’Your text is: [Edit1.Text]’);
Page.Objects.Add(v);
b := TfrBandView.Create; // create MasterData band
b.SetBounds(0, 60, 0, 20);
b.BandType := btMasterData;
b.Dataset := ’frDBDataSet1’; // band’s dataset
Page.Objects.Add(b);
v := TfrMemoView.Create; // create data field
v.SetBounds(20, 60, 200, 16);
v.Memo.Add(’[Table1.“Company“]’);
Page.Objects.Add(v);
frReport1.Pages.Add; // create second page
Page := frReport1.Pages;
Page.PageType := ptDialog;
Page.Width := 200;
Page.Height := 170;
Page.Caption := ’Test’;
v := TfrEditControl.Create; // create editbox
v.SetBounds(60, 50, 75, 21);
v.Name := ’Edit1’;
Page.Objects.Add(v);
v := TfrButtonControl.Create; // create button
v.SetBounds(60, 100, 75, 25);
TfrButtonControl(v).Button.Caption := ’Test!’;
TfrButtonControl(v).Button.ModalResult := mrOk;
Page.Objects.Add(v);
frReport1.ShowReport;
end;
-fast