报告生成器FastReport.Net 教程:如何调用??PreviewControl.OnPrint和PreviewControl.OnExport事件

FastReport 2019.4中添加了订阅PreviewControl.OnPrint和PreviewControl.OnExport事件的功能,这些事件在按下相应按钮时直接调用,让我们看看以下示例。

报表生成器

Fastreport在线下单立享85折起!赶紧加入购物清单吧!

在FastReport 2019.4中添加了订阅PreviewControl.OnPrint和PreviewControl.OnExport事件的功能,这些事件在按下相应按钮时直接调用。

查看报告时,将使用工具栏调用查看器,该工具栏包含诸如打印按钮和带有报告导出功能的下拉列表之类的元素。选择列表中的任何项目将触发OnExport事件,然后按“打印”按钮将触发OnPrint。让我们举个例子,看看如何在实践中使用这些事件。

您可以对这些事件使用标准处理程序,这些处理程序是为PreviewControl的可视组件创建的:

èonExport在这种情况下,您只需将必要的操作添加到处理程序。

但是,如果在应用程序代码中添加PreviewControl组件,则必须为事件签名自己的处理程序。例如,您的处理程序可能会向您发送导出或打印事件警报。例如,这可能是数据库中的记录。让我们考虑这个例子:

 private void Button1_Click(object sender, EventArgs e) { //create report Report report = new Report(); //Load report report.Load("App_Data/Master-Detail.frx"); //create data source DataSet data = new DataSet(); //load data data.ReadXml("C:\Program Files (x86)\FastReports\FastReport.Net\Demos\Reports\nwind.xml"); //register data report.RegisterData(data); //create preview object var prev = new PreviewControl(); //add preview into the form this.Controls.Add(prev); prev.Dock = DockStyle.Fill; prev.BringToFront(); //subscribe to the event prev.OnExport+= new System.EventHandler<PreviewControl.ExportEventArgs>(ExportAction); //assign preview control to the report report.Preview = prev; //Show the report report.Show(); }

 创建报告对象并在其中注册数据后,我们创建一个PreviewControl,订阅事件处理程序OnExport事件,我们将在下面实现该事件。然后,将PreviewControl对象分配给预览报告。现在,我们为OnExport事件实现一个自定义事件处理程序:

 public void ExportAction(object sender, PreviewControl.ExportEventArgs e) { SqlConnection conn = new SqlConnection(@"Data Source=.SQLEXPRESS;Initial Catalog=usersdb;Integrated Security=True"); SqlCommand command = new SqlCommand("insert into dbo.Status (ReportName, ExportType, ExportDate) Vales ('" + Path.GetFileNameWithoutExtension(e.Report.FileName) + "', '"+ e.Export.BaseName +"', '" + DateTime.Now + "')"); command.Connection = conn; conn.Open(); command.ExecuteNonQuery(); conn.Close(); }

 在这种方法中,我们将有关导出事件的信息记录在数据库中,包括报告名称,导出类型和交易日期。这只是如何使用此事件的一个可能示例。例如,您可以实施发送有关此事件的电子邮件,或将导出文件保存到特定文件夹。

OnPrint事件的处理方式相同。

当查看时,这两个事件是报表上最频繁的操作,因此许多人希望自动化其对事件的自定义操作。现在可以轻松地从事件参数中获取有关报告,导出或打印设置的信息,并将其处置以创建自己的附加操作。

标签:

来源:慧都

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年9月7日
下一篇 2020年9月7日

相关推荐

发表回复

登录后才能评论