FastReport中国社区FastReport联系电话 联系电话:023-68661681

如何替换"Open"和"Save"对话框?

来源:   发布时间:2016-08-08   浏览:4872次

在上一篇文章 如何配置FastReport.Net环境?中我们介绍了如何利用FastReport.Net工具箱中的EnvironmentSettings组件的相应属性控制FastReport.Net的环境设置。今天我们将介绍如何利用EnvironmentSettings组件的事件替换"Open"和"Save"对话框。

如果你要在数据库中储存你的报表,你需要改变一下你的设计器,使其可以打开和保存数据库中的报表,也可以将报表保存到数据库中。也就是说你需要用你自己的能与数据库一起工作的对话框替换掉标准的"Open"和"Save"对话框。要做到这一点,你需要使用到EnvironmentSettings组件,该组件包含了以下事件:

事件 描述
CustomOpenDialog 该事件在报表设计器显示"Open"对话框时发生。在事件处理器中,你必须显示一个对话框窗口,以便用户选择一个报告文件。如果对话框成功地执行了,你必须返回e.Cancel= false并且将e.FileName文件设置选定的文件名。
下面的例子演示了如何使用此事件:
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;
}
}
CustomSaveDialog 该事件在报表设计器显示"Save"对话框时发生。在事件处理器中,你必须显示一个对话框窗口,以便用户
选择报表文件。如何对话框成功执行,你必须返回e.Cancel= false并且将e.FileName设置成选定的文件名。
下面的例子演示了如何使用此事件:
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;
}
}
CustomOpenReport 该事件在报表设计器加载报表时发生。在事件处理器中,你必须从e.FileName属性中的指定位置加载e.Report属性中指定的报表。后者的属性包含了由CustomOpenDialog事件处理器返回的名称。它可以是文件名,也可以是数据库中的关键值等。
下面的例子演示了如何使用此事件:
private void CustomOpenReport_Handler(
object sender, OpenSaveReportEventArgs e)
{
// load the report from the given e.FileName
e.Report.Load(e.FileName);
}
CustomSaveReport 该事件在报表设计保存报表时发生。在事件处理器中,你必须将e.Report属性中指定的报表保存到e.FileName属性中指定的位置。后者的属性包含了由CustomSaveDialog事件处理器返回的名称。它可以是文件名,也可以是数据库中的关键值等。
下面的例子演示了如何使用此事件:
private void CustomSaveReport_Handler(
object sender, OpenSaveReportEventArgs e)
{
// save the report to the given e.FileName
e.Report.Save(e.FileName);
}

fastreport常见问题:https://www.fastreportcn.com/FAQ/index.html

本站文章除注明转载外,均为本站原创或翻译
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果
转载请注明:文章转载自:FastReport控件中文网 [https://www.fastreportcn.com/]
本文地址:https://www.fastreportcn.com/post/1061.html

联系我们
  • 重庆总部 023-68661681
购买
  • sales@evget.com
合作
  • business@evget.com


在线
客服
微信
QQ 电话
023-68661681
返回
顶部