翻譯|使用教程|編輯:王香|2018-08-29 10:08:25.000|閱讀 328 次
概述:本文主要講解在Stimulsoft中如何在線程中呈現(xiàn)報表。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
【下載Stimulsoft Reports.Ultimate最新版本】
此示例顯示如何在線程中呈現(xiàn)報表,在線程中呈現(xiàn)報表是在后臺進程中運行的,為此,使用BackgroundWorker類:
private System.ComponentModel.BackgroundWorker backgroundWorker1;
private void button1_Click(object sender, EventArgs e)
{
backgroundWorker1.RunWorkerAsync();
}
在backgroundWorker1_DoWork流程事件開始時,您可以卸載報表并連接數(shù)據(jù),還應該訂閱已編譯的報表對象的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();
}
示例代碼的結果如下圖所示:

本站文章除注明轉載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@ke049m.cn