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

OnAfterRowPrinted Event?

edited March 2002 in General
D5, RB6.03

Where is the OnAfterMainPipeLineRowActuallySentToPrinter event?

I'd like to update a DATE_PRINTED column with some UPDATE SQL, but only
*AFTER* the row is sent to the printer. The AfterPrint and the other one
are only after the entire JOB has been printed.

And using those will NOT work, as it assumes the user didn't cancel halfway
through the report.

We could go for the "Close Enough" approach, and use OnTraversal or
DataSource.OnDataChange, as these are actually BEFORE the row gets sent,
but why do something that isn't optimal? It violates a programmer's ethics,
eh? heh..

I saw something via a Tamaracka search mentioning a 'Print Event Log',
which I think referred to keeping a table of rows printed, but how, if
there is no reliable place/event/method of capturing some sort of
OnAfterRowPrinted?

Any suggestions, or better yet, an enhancement to meet this need?

With hope..
Rob

Comments

  • edited March 2002
    Robert:

    Did you try the detail bands .AfterPrint event? (Click on the detail band
    and see the OI) This seems to work for me, unless I misunderstand your
    question).

    Ed Dressel
    DX Squad
  • edited March 2002
    Please be aware, the DetailBand.AfterPrint may fire more than once, if the
    band needs to keep together and break to a new page.

    Each page is sent to the device after it has generated. The best timing is
    the Report.OnEndPage event. This event fires just after the draw commands
    for a page have been added to the page object, and before the page object is
    sent to the device. Certainly, you could keep track of the records that
    were generated on the page, by using a list. Clear the list in the
    Report.OnStartPage event. Then send your update query for the records that
    were printed on the page from this list.


    Cheers,

    Jim Bennett
    Digital Metaphors

This discussion has been closed.