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

Can I detect if the End User has deleted a component

edited January 2005 in End User
I have an application that starts w/ a standard report. In the End User
designer, the user may delete a component from the report. Is there a way
in ppDetailBandBeforePrint to detect whether a TppLabel is still part of the
report (otherwise, accessing it gives an exception).

Joe

Comments

  • edited January 2005
    Hi Joe,

    You can loop through every component in your report using a report object
    loop. See the article below for more information about doing this.

    ----------------------------------------------
    Tech Tip: Loop Thru All Objects in a Report
    ---------------------------------------------

    A ReportBuilder report is composed of a set
    of components. The basic structure is

    Reports.Bands[].Objects[]

    The bands and objects within the report can
    be accessed directly by object name or
    via the Bands and Objects array properties.

    Below is an example of using the Bands and
    Objects array properties to change the font for
    all objects on a report.


    uses
    ppClass;


    procedure AssignFontToReport(aFont: TFont; aReport: TppCustomReport);
    var
    liBand: Integer;
    liObject: Integer;
    lObject: TppComponent;

    begin

    for liBand := 0 to aReport.BandCount-1 do

    for liObject := 0 to aReport.Bands[liBand].ObjectCount-1 do
    begin
    lObject := aReport.Bands[liBand].Objects[liObject];

    if lObject.HasFont then
    lObject.Font := aFont;

    end;

    end;


    --
    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.