彩票走势图

【Stimulsoft Reports.WinForms教程】在线程中呈现报表

翻译|使用教程|编辑:王香|2018-08-29 10:08:25.000|阅读 250 次

概述:本文主要讲解在Stimulsoft中如何在线程中呈现报表。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

【下载Stimulsoft Reports.Ultimate最新版本】

此示例显示如何在线程中呈现报表,在线程中呈现报表是在后台进程中运行的,为此,使用BackgroundWorker类:

private System.ComponentModel.BackgroundWorker backgroundWorker1;
 
private void button1_Click(object sender, EventArgs e)
{
    backgroundWorker1.RunWorkerAsync();
}

在backgroundWorker1_DoWork流程事件开始时,您可以卸载报表并连接数据,还应该订阅已编译的报表对象的Rendering事件:

private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
    using (var stream = Assembly.GetExecutingAssembly().
           GetManifestResourceStream("RenderInThread.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.CompiledReport.Rendering += new EventHandler(CompiledReport_Rendering);
    report.Render(false);
}

在CompiledReport_Rendering事件中更新表单上的文本——显示StatusString属性的值,完成线程工作后,在查看器中显示报表:

void CompiledReport_Rendering(object sender, EventArgs e)
{
    button1.Invoke((EventHandler)delegate { button1.Text = report.StatusString; });
}
 
private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
    report.Show();
}

示例代码的结果如下图所示:

Stimulsoft


标签:报表解决方案报表报表控件报表设计StimulsoftWinForms

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@capbkgr.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP