Home End User
New Blog Posts: Merging Reports - Part 1 and Part 2

Report Explorer Plugin

edited June 2008 in End User
Hi,

I am using the following code to custimize the Report Preview. Is there a
way of doing the same thing for the Report Explorer.

Ken


uses
Controls, ExtCtrls,
Buttons,
ppPreview, ppTypes;

type

TMyPreviewPlugin = class(TppPreview)
private

protected

public
procedure BeforePreview; override;
end;

implementation

uses
ppPreviewIcons, ppReport, ppDevice, ppPrnDev, Forms, DataModule,
ppTB2Dock,
ppToolbarTBX;

procedure TMyPreviewPlugin.BeforePreview;
begin
inherited;
Report.Icon:=Application.Icon;
Report.EmailSettings.Enabled:=True;
Report.EmailSettings.ShowEmailDialog:=True;
Report.EmailSettings.HostAddress:=EPDataModule.EMailServer;
Report.EmailSettings.FromAddress:=EPDataModule.ThisEmail;
EmailButton.Visible:=Report.EmailSettings.Enabled;
Toolbar.FullSize:=True;
Toolbar.DragHandleStyle:=dhNone;
TppThemeManager.SetCurrentTheme('Whidbey');
end;

initialization
TppPreviewPlugIn.Register(TMyPreviewPlugin);

finalization
TppPreviewPlugIn.UnRegister(TMyPreviewPlugin);

end.

Comments

  • edited June 2008
    Hi Ken,

    The Report Explorer can be completely replaced like most of the dialogs in
    ReportBuilder. See the tutorial located in the
    \RBuilder\Tutorials\Complete\II. Applications\04. End-User with Custom
    Explorer\... directory for an example of this.

    ------------------------------------------------------------
    Tech Tip: Replacing Built-in Dialogs/Forms in ReportBuilder
    ------------------------------------------------------------

    ReportBuilder has an open architecture for replacing any of the built-in
    dialogs. You can replace any of the built-in dialogs by creating a new form
    that inherits from an abstract ancestor and then registering it as the new
    built-in dialog.

    For example to replace ReportBuilder's print dialog you could

    1. Create a new Print dialog by renaming ReportBuilder's default print
    dialog, then doing a SaveAs to save it under another unit name.

    The default dialog resides in RBuilder\Source\ppPDlg.pas and the form is
    called ppPrintDialog. You should assign your form a unique name, for
    example, myPrintDlg, and save the unit to another name. Also save the unit
    to the directory where your other forms are stored (not RBuilder\Source).

    2. Make desired changes.

    You will notice that the print dialog inherits from an ancestor
    TppCustomPrintDialog - this ancestor resides in ppForms.pas (where all the
    abstract ancestor forms for ReportBuilder are defined).

    3. Register the new form.

    Declare an initializtion section at the bottom of the unit:

    initialization

    ppRegisterForm(TppCustomPrintDialog, TMyPrintDialog);


    4. Add the new unit to your project and compile.

    Now your preview dialog should be automatically created and destroyed by
    ReportBuilder. The two page preview dialog in the
    RBuilder\Demos\Reports\Demo.dpro was created this same way. The only
    difference is the ppRegisterForm call is in then OnClick event of the
    button.


    --
    Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com

    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
This discussion has been closed.