【Stimulsoft Reports Silverlight教程】在Designer中保存并加载报表

下载Stimulsoft Reports PHP最新版本

此示例显示如何将报表加载到设计器以及如何使用保存报表事件。

private void btLoadReport_Click(object sender, System.Windows.RoutedEventArgs e)
{
    if (cbReports.SelectedItem != null)
    {
        System.Reflection.Assembly a = System.Reflection.Assembly.GetExecutingAssembly();
        var stream = a.GetManifestResourceStream(string.Format("DesignerSaveLoad.ReportFiles.{0}.mrt",
            ((ComboBoxItem)cbReports.SelectedItem).Content.ToString()));
 
        StiReport report = new StiReport();
        report.Load(stream);
        stream.Close();
        stream.Dispose();
        stream = null;
 
        report.CalculationMode = StiCalculationMode.Interpretation;
        report.RegBusinessObject("Data", "Data", new Data());
 
        designer.Report = report;
    }
}

您可以在应用程序初始化时将事件侦听器添加到StiOptions.Engine.GlobalEvents:

public MainPage()
{
    ...
 
    StiOptions.Engine.GlobalEvents.SavingReportInDesigner +=
        new Stimulsoft.Report.Design.StiSavingObjectEventHandler(GlobalEvents_SavingReportInDesigner);
}

指定报表保存时要执行的操作:

private void GlobalEvents_SavingReportInDesigner(object sender, Stimulsoft.Report.Design.StiSavingObjectEventArgs e)
{
    if (designer.Report == null) return;
    e.Processed = true;
    messageBox = new MessageBoxWindow();
    messageBox.Closed += delegate
    {
        if (messageBox.Result == MessageBoxResult.Yes)
        {
            SaveFileDialog saveDialog = new SaveFileDialog();
            saveDialog.Filter = "Report Files (*.mrt) | *.mrt";
            if (saveDialog.ShowDialog() == true)
            {
                var stream = saveDialog.OpenFile();
                StiXmlReportSLService saveService = new StiXmlReportSLService();
                saveService.Save(designer.Report, stream);
 
                stream.Flush();
                stream.Close();
                stream.Dispose();
                stream = null;
            }
        }
 
        messageBox = null;
    };
 
    messageBox.Show();
}

下面的屏幕截图中,您可以看到示例代码的结果。

Stimulsoft

下载示例

GrapeCity年末福利大放送

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值