FastReport Studio 3之打印预览功能
2009-09-09 21:39
375 查看
因项目需要做一个打印证书的软件:要求打印出来的格式正好和要打印的纸张(非A3或A4)对应,而且不能出现错位和颠倒。固需要对打印的文本进行位置可调整。因纸张不同打印出来的位置也就不同,固需要对指定的纸张进行调整。
这里我选用的是FastReport控件。简单说一说FastReport控件的功能:
FastReport Studio是给你应用程序自动快速生成报表的功能强大、精简和灵活的一个环境。FastReport提供了你开发报表的所有工具。它包括报表引擎、设计器,窗体设计预览对话框,以及四个强大的解释程序:Basic(VB) style,C++ style,JS style and Pascal style。
补丁中包括FastReport Com服务,标准设计和针对于Visual C++,Microsoft Visual C#.Net,Microsoft Visual Basic.Net,Microsoft Asp.net,Microsoft FoxPro的源代码演示程序。我这里用到的是它的预览,打印功能,还包括导出功能(PDF,RTF,Excel,XML,HTML,JPEG,BMP,TIFF,Text,CSV等格式)
FastReport提供了ADO引擎,可以直接在设计器中直接数据访问。但在我实际的应用程序中,要打印的数据是根据选择的不同,打印就不同,因此我在设计器中并没有指定ADO引擎的ADOQuery(查询)。我通过.net代码来从外部设置。
伪代码
//打印和预览方法
private void print(bool IsPreview)
{
TfrxReportClass Mainreport = new TfrxReportClass();
//Create ado database object
TfrxADODatabaseClass ado_database = new TfrxADODatabaseClass();
ado_database.ConnectionString ="连接数据库";
ado_database.LoginPrompt = false;
//Create ado query object
TfrxADOQueryClass adoquery = new TfrxADOQueryClass();
adoquery.DataBase = ado_database;
adoquery.Name = "ado_query";//这里的名字要和设计器中绑定的数据源一致。
adoquery.Query = "SQL语句";
try
{
Mainreport.LoadReportFromFile(@"fr3\Report.fr3");//载入主题模板
Mainreport.SelectDataset(true, adoquery);
//显示预览对话框
if(IsPreview)
{
Mainreport.PreviewOptions.AllowEdit = false;
Mainreport.ShowReport();
}
else
{
Mainreport.PrepareReport(false);
Mainreport.PrintReport();
}
}
catch (Exception ex)
{
LoggerManager.LoggtoTxt(ex);
MessageBox.Show("打印模板文件错误!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}以上我在打印的软件中使用的一个主要方法。
OK,用了FastReport控件中的打印和预览方法。这里就算一个读书笔记,方便以后查找。
这里我选用的是FastReport控件。简单说一说FastReport控件的功能:
FastReport Studio是给你应用程序自动快速生成报表的功能强大、精简和灵活的一个环境。FastReport提供了你开发报表的所有工具。它包括报表引擎、设计器,窗体设计预览对话框,以及四个强大的解释程序:Basic(VB) style,C++ style,JS style and Pascal style。
补丁中包括FastReport Com服务,标准设计和针对于Visual C++,Microsoft Visual C#.Net,Microsoft Visual Basic.Net,Microsoft Asp.net,Microsoft FoxPro的源代码演示程序。我这里用到的是它的预览,打印功能,还包括导出功能(PDF,RTF,Excel,XML,HTML,JPEG,BMP,TIFF,Text,CSV等格式)
FastReport提供了ADO引擎,可以直接在设计器中直接数据访问。但在我实际的应用程序中,要打印的数据是根据选择的不同,打印就不同,因此我在设计器中并没有指定ADO引擎的ADOQuery(查询)。我通过.net代码来从外部设置。
伪代码
//打印和预览方法
private void print(bool IsPreview)
{
TfrxReportClass Mainreport = new TfrxReportClass();
//Create ado database object
TfrxADODatabaseClass ado_database = new TfrxADODatabaseClass();
ado_database.ConnectionString ="连接数据库";
ado_database.LoginPrompt = false;
//Create ado query object
TfrxADOQueryClass adoquery = new TfrxADOQueryClass();
adoquery.DataBase = ado_database;
adoquery.Name = "ado_query";//这里的名字要和设计器中绑定的数据源一致。
adoquery.Query = "SQL语句";
try
{
Mainreport.LoadReportFromFile(@"fr3\Report.fr3");//载入主题模板
Mainreport.SelectDataset(true, adoquery);
//显示预览对话框
if(IsPreview)
{
Mainreport.PreviewOptions.AllowEdit = false;
Mainreport.ShowReport();
}
else
{
Mainreport.PrepareReport(false);
Mainreport.PrintReport();
}
}
catch (Exception ex)
{
LoggerManager.LoggtoTxt(ex);
MessageBox.Show("打印模板文件错误!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}以上我在打印的软件中使用的一个主要方法。
OK,用了FastReport控件中的打印和预览方法。这里就算一个读书笔记,方便以后查找。
相关文章推荐
- FastReport.NET报表控件功能详解—预览、打印和导出
- 使用功能强大的插件FastReport.Net打印报表实例
- 使用功能强大的插件FastReport.Net打印报表实例
- FastReport.net实现每行打印相应笔数据
- js实现web套打功能,支持拖动布局,支持按键移动支持打印预览,结果可保存至数据库中
- 弹出的模态窗口(子窗口)中调用IE的打印预览功能,结果IE弹出错误:“当前页面发生脚步错误...错误:不支持该命令.
- JS 打印功能代码(包括打印预览、打印设置等)
- FastReport.net 打印空行
- 报表打印FastReport.Ne
- 使用jquery.jqprint.js 实现的打印功能,IE9不能进行打印预览、火狐打印空白界面
- FastReport Studio v4.6.98.0
- 网站开发进阶(十二)JS实现打印功能(包括打印预览、打印设置等)
- 实现单文档ListView类型的打印、预览功能
- 【.Net码农】FastReport.Net直接打印相关问题整理
- c#打印预览控件中实现用鼠标移动页面功能代码分享
- FastReport.net每页打印固定行数二
- AndroidStudio2.3预览功能无法显示
- Qt实现保存、浏览、预览、打印功能的示例代码
- C#实现打印与打印预览功能
- Qt实现保存、浏览、预览、打印功能