PreviewControl.OnPrint和PreviewControl.OnExport事件的功能

报表生成器FastReport .NET是适用于.NET Core 3,ASP.NET,MVC和Windows窗体的全功能报告库。使用FastReport .NET,您可以创建独立于应用程序的.NET报告。

近日,FastReport .Net升级到v2020.4版,在此版本中,添加了新的条形码:ITF-14和Deutsce Post Identcode,同时优化了多种性能(点击下方按钮下载),感兴趣的朋友可点击下方按钮下载最新版。

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

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

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

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

在这里插入图片描述

在这种情况下,您只需将必要的操作添加到处理程序。
但是,如果在应用程序代码中添加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事件的处理方式相同。

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

APS帮助提升企业生产效率,真正实现生产计划可视化呈现与控制,快速有效响应不同场景的生产计划,提高准时交货能力,提高产能和资源利用率
想要了解甘特图或慧都APS系统,请登录慧都网咨询在线客服,解决您的问题!
本文章转载自【慧都科技】evget欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,尊重他人劳动成果
原文链接:https://www.evget.com/article/2020/10/10/38557.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值