Page 1 of 1

Report export interception

Posted: Fri Sep 03, 2010 3:44 am
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?

Report export interception

Posted: Mon Sep 06, 2010 3:00 am
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.

Report export interception

Posted: Tue Sep 07, 2010 3:30 am
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?

Report export interception

Posted: Wed Sep 08, 2010 1:31 am
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.

Report export interception

Posted: Tue Sep 13, 2011 3:55 pm
by brianj774
OnPrinting event....


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

Thanks

Report export interception

Posted: Thu Sep 15, 2011 8:13 am
by Alex K.
Hello,

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

Thank you.