Report export interception

Stimulsoft Reports.NET discussion
Post Reply
Lavr
Posts: 14
Joined: Thu Aug 26, 2010 4:19 am
Location: Ukraine

Report export interception

Post by Lavr »

Hi!

I need to intercept OnReportExport event of StiWebViewer and save exported file to my DB.

I try the following:

Code: Select all


Code: Select all

protected void viewer_ReportExport(object sender, Stimulsoft.Report.Web.StiExportDataEventArgs e)  {}
but in StiExportDataEventArgs where is no selected report format, so I can't use ExportDocument method.

I also try this:

Code: Select all

            if (_report != null)
            {
                _report.Exporting += ReportExporting;
                _report.Exported += ReportExported;
                _report.Printed += ReportPrinted;
                _report.Printing += ReportPrinting;
            }
.....
        protected void ReportPrinting(object sender, EventArgs e)
        {
            Log.Debug("ReportPrinting fired.");
        }

        protected void ReportPrinted(object sender, EventArgs e)
        {
            Log.Debug("ReportPrinted fired.");
        }

        protected void ReportExported(object sender, StiExportEventArgs e)
        {
            Log.Debug("ReportExported fired.");
        }

        protected void ReportExporting(object sender, StiExportEventArgs e)
        {
            Log.Debug("ReportExporting fired.");
        }
but no one was fired...

What I do wrong? Or how can I intercept exporting/printing events of WebViewr and save exported file to DB?
Alex K.
Posts: 6488
Joined: Thu Jul 29, 2010 2:37 am

Report export interception

Post by Alex K. »

Hello,
in StiExportDataEventArgs where is no selected report format, so I can't use ExportDocument method.
You can get the export format from the e.Settings property, for example:

Code: Select all

if (e.Settings is StiPdfExportSettings) report.ExportDocument(StiExportFormat.Pdf, stream);
Thank you.
Lavr
Posts: 14
Joined: Thu Aug 26, 2010 4:19 am
Location: Ukraine

Report export interception

Post by Lavr »

Hello,

This is ugly but can work. Thanks.

Not be better to add abstract method:

Code: Select all

 StiExportFormat GetExportFormat(); 
to the StiExportSettings base class and use it like

Code: Select all

report.ExportDocument(e.Settings.GetExportFormat(), stream);
?

And how can I intercept OnPrinting event?
Alex K.
Posts: 6488
Joined: Thu Jul 29, 2010 2:37 am

Report export interception

Post by Alex K. »

Hello,

>StiExportFormat GetExportFormat();
We are working on this task. This method will be available to the next prerelise build.

>OnPrinting event
We have added your request to our to-do list.


Thank you.
brianj774
Posts: 177
Joined: Tue Jan 11, 2011 7:15 am
Location: Minnesota

Report export interception

Post by brianj774 »

OnPrinting event....


I don't see that this has yet made it into current releases. Any word on when ?

Thanks
Alex K.
Posts: 6488
Joined: Thu Jul 29, 2010 2:37 am

Report export interception

Post by Alex K. »

Hello,

You can use the ReportPrinting or ReportPrinted events.
StiOptions.Engine.GlobalEvents.ReportPrinting
StiOptions.Engine.GlobalEvents.ReportPrinted

Thank you.
Post Reply