发布时间 : 2021-09-24 11:11:28.827|阅读 113 次
概述:此示例显示如何在线程中呈现多个报告。
相关链接:
Stimulsoft Ultimate是用于创建报表和仪表板的通用工具集。该产品包括用于WinForms、ASP.NET、.NET Core、JavaScript、WPF、PHP、Java和其他环境的完整工具集。
Stimulsoft Reports不仅拥有强大的报表导出系统,而且还支持多种报表导出格式,拥有简单且强大的报表引擎。Stimulsoft Reports基本原则是,用简单常规的方法创建报表,将不同的技术应用于应用程序。Stimulsoft Reports .NET一个基于.NET框架的报表生成器,能够帮助你创建结构、功能丰富的报表。不仅界面友好,而且使用便捷,能够让你轻松创建所有报表。
点击下载Stimulsoft Reports .NET v2021.3.1最新版
此示例显示如何在线程中呈现多个报告。由于线程中的渲染报告在后台运行,因此它提供了提高生产力的机会。为此目的,使用BackgroundWorker该类。为简单起见,运行相同的报告以构建五个不同的线程:
private void button1_Click(object sender, EventArgs e)
{
for (int index = 0; index < 5; index++)
{
var worker = new BackgroundWorker();
worker.DoWork += new DoWorkEventHandler(backgroundWorker1_DoWork);
worker.RunWorkerAsync();
}
}
在backgroundWorker1_DoWork()事件过程开始时,您可以加载报告并连接数据。此外,如果有必要,您可以订阅一些事件。最后,编译并呈现报告:
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
var report = new StiReport();
using (var stream = Assembly.GetExecutingAssembly().
GetManifestResourceStream("RenderInThread2.Master-Detail-Subdetail.mrt"))
{
report.Load(stream);
}
DataSet data = new DataSet();
data.ReadXmlSchema("..\\..\\Data\\demo.xsd");
data.ReadXml("..\\..\\Data\\demo.xml");
report.RegData(data);
report.IsRendered = false;
report.Compile();
report.Render(false);
}