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

JIT traversal

edited August 2002 in Datapipelines
This issue of a JIT pipeline scrolling back and forth in the dataset is a
major problem for me. I have implemented a caching mechanism for loading the
current page, but because it is rich text, the reloading and reformatting of
the page takes a while so loading the wrong page because of the JIT's
spastic traversal still represents a gross inefficiency. What's worse that
on the user changing the zoom on the preview, the wrong details, ie that for
the first item are currently loaded, usually causing a list index out of
bounds error in my page caching of what is actually the current article.
This does not occur when the user pages through the preview as the correct
article get reloaded before page draw - just slow because the wrong article
gets loaded first. In my case, the report PageNo does not correspond to the
JIT's RecordIndex as articles have variable numbers of pages and may have
questionnaires attached. I have made a workaround, but it's not ideal.

First prize would be that OnRecordPositionChange only gets fired when the
current record has been traversed to, and not when resetting back to the
first or on the way back to the current. Or at least have some sort of
property that we can poll for this (whether the JIT record index is the
current report page index) - for the sanity of your users!

Comments

  • edited August 2002
    The report engine is not unidirectional. You can turn on Report.CachePages
    to force the pages not to recalculate when they are previewed. You can also
    check in your calculations only to calculate when the datapipeline is moving
    forward in the dataset by checking the current record position. If the
    pipeline has moved forward one record from the last calculation, then
    calculate for hte new record value.


    Cheers,

    Jim Bennett
    Digital Metaphors

This discussion has been closed.