原創(chuàng)|使用教程|編輯:鄭恭琳|2019-10-29 16:50:14.743|閱讀 201 次
概述:本示例說明如何顯示生成報(bào)表的自定義進(jìn)度。顯示進(jìn)度條對(duì)于復(fù)雜的報(bào)表或包含大量數(shù)據(jù)的報(bào)表很有用。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
立即點(diǎn)擊下載Stimulsoft Reports.Ultimate最新版
本示例說明如何顯示生成報(bào)表的自定義進(jìn)度。顯示進(jìn)度條對(duì)于復(fù)雜的報(bào)表或包含大量數(shù)據(jù)的報(bào)表很有用。您可以使用報(bào)表對(duì)象的渲染事件:
void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e) { DataSet data = new DataSet(); data.ReadXml("..\\..\\Data\\Demo.xml"); report.RegData(data); using (var stream = Assembly.GetExecutingAssembly(). GetManifestResourceStream("SampleProgress.Master-Detail-Subdetail.mrt")) { report.Load(stream); } report.Compile(); report.CompiledReport.Rendering += new EventHandler(CompiledReport_Rendering); report.Render(false); } void CompiledReport_Rendering(object sender, EventArgs e) { if (label1.InvokeRequired) label1.Invoke((EventHandler)delegate { label1.Text = report.StatusString; }); else label1.Text = report.StatusString; }
要生成報(bào)表,您可以使用該線程。button1_Click事件添加必要的處理程序并啟動(dòng)線程。渲染后,報(bào)表將顯示在查看器中:
private void button1_Click(object sender, EventArgs e) { backgroundWorker1.DoWork += new DoWorkEventHandler(backgroundWorker1_DoWork); backgroundWorker1.RunWorkerCompleted += new RunWorkerCompletedEventHandler(backgroundWorker1_RunWorkerCompleted); backgroundWorker1.RunWorkerAsync(); label1.Text = ""; label1.Visible = true; progressBar1.Visible = true; while (backgroundWorker1.IsBusy) Application.DoEvents(); } void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { label1.Visible = false; progressBar1.Visible = false; report.Show(); }
在下面的屏幕截圖中,您可以看到示例代碼的結(jié)果。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn