The ExportAnalysisController Controller is activated in Detail Views that contain Property Editors implementing the IExportableAnalysisEditor interface. Currently, only the AnalysisEditorWin and AnalysisEditorWeb Property Editors from the Pivot Chart module implement this interface. So, the ExportAnalysisController is generally introduced to provide export functionality for the Analysis Detail View, where these Property Editors are used to represent an Analysis object.
The export functionality is presented by the Export Analysis Action.
To access the Export Analysis Action, use the ExportAnalysisController.ExportAction property. This Action's ChoiceActionBase.Items collection is populated based on the IExportableAnalysisEditor.ExportTypes list of the analysis editor to be exported. For details, refer to the ExportAnalysisController.ExportAction property description.
The ExportAnalysisController allows you to change the Export Analysis Action's behavior. Use the following events: ExportAnalysisController.Exporting, ExportAnalysisController.Exported and ExportAnalysisController.CustomExport.
The ExportAnalysisController is the base for the platform-specific WinExportAnalysisController and WebExportAnalysisController Controllers. Generally, you do not need to inherit this class, as it will be required to manually implement the functionality which is already implemented in platform-specific descendants. However, you can inherit the WinExportAnalysisController or WebExportAnalysisController classes to add custom functionality. The following protected methods are available, and can be overridden:
When is it called?
Invoked when initializing the ExportAnalysisController Controller.
An abstract method, which is implemented in WinExportController and WebExportController classes. Creates the IStreamProvider object to be used by the Export method. In the WinExportController, the FileStreamProvider is created, which provides the System.IO.FileStream object. In the WebExportController, the MemoryStreamProvider is created, which provides the System.IO.MemoryStream object.
Invoked when the Export Action's SingleChoiceAction.Execute event occurs.
Uses the IStreamProvider object, supplied by the CreateStreamProvider method, to create the output stream for export. Invokes the specific ExportTo... method, which writes the export result to this stream.
Invoked when executing the Export method. The appropriate method is invoked, depending on the export type specified.
These methods perform export to the corresponding format, by using the DevExperss.XtraPrinting.ComponentExporter.Export method.
Ivnoked when the UpdateExportAction method is executed.
Returns the list of supported export types exposed by the current exportable Editor's IExportableAnalysisEditor.ExportTypes property.
Invoked when executing the ExportToImage method.
Returns the ImageFormat object representing the target image format, which is ImageFormat.Png, by default. This method is overridden in the WinExportControllerMethod and returns the ImageFormat, calculated based on the file extension specified in the Save As dialog.
Invoked when executing the Export method, before performing export to the required format.
Triggers the ExportController.CustomExport event.
Invoked when executing the Export method, after performing export to the required format.
Triggers the ExportController.Exported event. In the WebExportController class, this method is overridden. It writes the export result to the HTTP output stream and adds content type and file name HTTP headers (via the System.Web.HttpResponce).
Invoked when executing the Export method, before the OnCustomExport method.
Triggers the ExportAnalysisController.Exporting event.
Fills the Export Action's Items list with items returned by the GetExportTypes method.
Public members are described individually in the documentation.
To determine whether the Controller is active, use the Controller.Active property (see How to: Detect a Lookup List View in Code). If you need to know the reason for its deactivation or activation at runtime, use the DiagnosticInfo Action.