发布时间 : 2018-09-13 09:49:09.000|阅读 335 次
概述:本文主要讲解Stimulsoft用代码实现在线程中呈现多个报表。
相关链接:
【下载Stimulsoft Reports.Ultimate最新版本】
此示例显示如何在线程中呈现多个报表。由于线程中的渲染报表运行后台,因此它提供了提高生产率的机会。为此,使用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);
}
购买Stimulsoft正版授权,请点击“咨询在线客服”哟!

渝ICP备12000582号-15/渝公网安备 50010702501010号