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

Formatting field display (currency, numeric)

edited June 2008 in General
When displaying a field in a report, why doesn't the field use the
"DisplayFormat" property from the field in the DataPipeline? I have to set
a GetText calc event for currency or numeric fields to display properly.
I'm using RB Enterprise 10.07 with Delphi 2006.

Thanks,

David

Comments

  • edited June 2008

    ---------------------------------------------
    Article: Currency Formatting in ReportBuilder
    ---------------------------------------------

    Currently when formatting currency display formats, ReportBuilder internally
    calls FloatToStrF with a ffCurrency paramter.

    This honors the Windows currency settings.

    There are two ways to override this behavior:


    1. Create a descendant of TppDisplayFormat.

    See ppDisplayFormat.pas. YOu can easily create a descendant of
    TppDisplayFormat and specify that your TmyDisplayFormat be used by
    ReportBuilder to perform formatting. See the initialization section
    ppDisplayFormat.pas.




    2. Override the Window currency values

    You can override this by setting Delphi's global variables for
    DecimalSeparator and CurrencyString. You will probably want to restore these
    values after printing the report.

    Below is a simple example:

    var
    lcSaveDecimalSeparator: Char;
    lsCurrencyString: String;

    begin

    lcSaveDecimalSeparator := DecimalSeparator;
    lsCurrencyString := CurrencyString;

    DecimalSeparator := '.';
    CurrencyString := '$';

    try
    Report.Print;
    finally

    DecimalSeparator := lcSaveDecimalSeparator;
    CurrencyString := lsCurrencyString;
    end;


    end;



    For the end-user solution you may to code an event-handler
    for the Report.Template.OnLoadEnd event to setup the proper settings.


    --
    Tech Support mailto:support@digital-metaphors.com
    Digital Metaphors http://www.digital-metaphors.com


    --
    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com

    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
This discussion has been closed.