替換
FastReport .Net是一款全功能的Windows Forms、ASP.NET和MVC報(bào)表分析解決方案,使用FastReport .NET可以創(chuàng)建獨(dú)立于應(yīng)用程序的.NET報(bào)表,同時(shí)FastReport .Net支持中文、英語等14種語言,可以讓你的產(chǎn)品保證真正的國際性。
如果決定在數(shù)據(jù)庫中存儲(chǔ)報(bào)告,則可能需要更改設(shè)計(jì)器,使其可以從數(shù)據(jù)庫打開和保存報(bào)告。也就是說,需要將標(biāo)準(zhǔn)的 "打開 "和 "保存 "對(duì)話框替換為自己的數(shù)據(jù)庫對(duì)話框。為此,請(qǐng)使用 EnvironmentSettings 組件(請(qǐng)參閱配置 FastReport .NET 環(huán)境)。該組件有以下事件:
事件 CustomOpenDialog
當(dāng)報(bào)表設(shè)計(jì)器即將顯示 "打開 "對(duì)話框時(shí)發(fā)生。在事件處理程序中,必須顯示一個(gè)對(duì)話窗口,讓用戶選擇報(bào)告文件。如果對(duì)話框執(zhí)行成功,則必須返回 e.Cancel = false 并將 e.FileName 設(shè)置為選定的文件名。下面的示例演示了如何使用此事件:
private void CustomOpenDialog_Handler(object sender, OpenSaveDialogEventArgs e) { using (OpenFileDialog dialog = new OpenFileDialog()) { dialog.Filter = "Report files (*.frx)|*.frx"; // set e.Cancel to false if dialog // was succesfully executed e.Cancel = dialog.ShowDialog() != DialogResult.OK; // set e.FileName to the selected file name e.FileName = dialog.FileName; } }
點(diǎn)擊復(fù)制
當(dāng)報(bào)表設(shè)計(jì)器即將顯示 "保存 "對(duì)話框時(shí)發(fā)生。在事件處理程序中,必須顯示一個(gè)對(duì)話窗口,讓用戶選擇報(bào)告文件。如果對(duì)話框執(zhí)行成功,則必須返回 e.Cancel = false 并將 e.FileName 設(shè)置為選定的文件名。下面的示例演示了如何使用此事件:
private void CustomSaveDialog_Handler(object sender, OpenSaveDialogEventArgs e) { using (SaveFileDialog dialog = new SaveFileDialog()) { dialog.Filter = "Report files (*.frx)|*.frx"; // get default file name from e.FileName dialog.FileName = e.FileName; // set e.Cancel to false if dialog // was succesfully executed e.Cancel = dialog.ShowDialog() != DialogResult.OK; // set e.FileName to the selected file name e.FileName = dialog.FileName; } }
點(diǎn)擊復(fù)制
當(dāng)報(bào)表設(shè)計(jì)器即將加載報(bào)表時(shí)發(fā)生。在事件處理程序中,必須從 e.FileName 屬性中指定的位置加載 e.Report 屬性中指定的報(bào)表。后者包含 CustomOpenDialog 事件處理程序返回的名稱。它可以是文件名、數(shù)據(jù)庫鍵值等。下面的示例演示了如何使用該事件:
private void CustomOpenReport_Handler(object sender, OpenSaveReportEventArgs e) { // load the report from the given e.FileName e.Report.Load(e.FileName); }
點(diǎn)擊復(fù)制
當(dāng)報(bào)表設(shè)計(jì)器即將保存報(bào)表時(shí)發(fā)生。在事件處理程序中,必須將 e.Report 屬性中指定的報(bào)表保存到 e.FileName 屬性中指定的位置。后者包含 CustomSaveDialog 事件處理程序返回的名稱。它可以是文件名、數(shù)據(jù)庫鍵值等。下面的示例演示了如何使用該事件:
private void CustomSaveReport_Handler(object sender, OpenSaveReportEventArgs e) { // save the report to the given e.FileName e.Report.Save(e.FileName); }
點(diǎn)擊復(fù)制