You'll have to set the page height of the report to be able to fit all of the detail bands which fit. This will result in a single page which includes the entire report. This height can be calculated beforehand by multiplying the static height of the detail band and the record count. If the printer driver can handle a page this tall, then it should work.
1) How can I get a count of records in a pipeline in RAP?
2) I have many strech areas, so Can I just add the sections in my report and set the page length after report printer has rendered each area but before pagination?
3) can I set the page length to a extreamly large number and then reduce it after it has been rendered?
1. RAP doesn't support this, as it is a slow operation (traverse the entire dataset with this call to get the count) and we did not want you users to be able to have this functionality to slow their reports down. Most times, the record count is only needed to be known in order to determine the dataset state, so we published the datapipeline states as properties. You can check DataPipeline.NoRecords, FirstRecord, or LastRecord properties. If you want to provide the record count, you will have to create a RAP pass through function. There are examples of creating RAP pass through functions in the installation in the help file and also in the developer's guide pdf. There are also tutorials and demos in the installation which have the RAP pass through examples.
2. Not sure what you mean. You have to let the report engine generate as it is deisgned. It will determine the pagination as it generates object on the current page and then when it runs out of space on the predefined page area, it will break to another page. One way to estimate the height of a dynmaic height report is to generate the report in one pass to a TppDevice in memory. Then take the page count and multiply it by the page height. Then reassign the page setup of the report to this new height and reprint the report to a real printer as one page tall report. Here is an example of printing the report to a page cache in memory to a TppDevice. http://www.digital-metaphors.com/tips/Booklet.zip
3. You can set the page height to a really large number. But, I dont believe changing the page height in your scenario would work.
Comments
the detail bands which fit. This will result in a single page which
includes the entire report. This height can be calculated beforehand by
multiplying the static height of the detail band and the record count. If
the printer driver can handle a page this tall, then it should work.
Cheers,
Jim Bennett
Digital Metaphors
http://www.digital-metaphors.com
info@digital-metaphors.com
1) How can I get a count of records in a pipeline in RAP?
2) I have many strech areas, so Can I just add the sections in my report and
set the page length after report printer has rendered each area but before
pagination?
3) can I set the page length to a extreamly large number and then reduce it
after it has been rendered?
dataset with this call to get the count) and we did not want you users to be
able to have this functionality to slow their reports down. Most times, the
record count is only needed to be known in order to determine the dataset
state, so we published the datapipeline states as properties. You can check
DataPipeline.NoRecords, FirstRecord, or LastRecord properties. If you want
to provide the record count, you will have to create a RAP pass through
function. There are examples of creating RAP pass through functions in the
installation in the help file and also in the developer's guide pdf. There
are also tutorials and demos in the installation which have the RAP pass
through examples.
2. Not sure what you mean. You have to let the report engine generate as it
is deisgned. It will determine the pagination as it generates object on the
current page and then when it runs out of space on the predefined page area,
it will break to another page. One way to estimate the height of a dynmaic
height report is to generate the report in one pass to a TppDevice in
memory. Then take the page count and multiply it by the page height. Then
reassign the page setup of the report to this new height and reprint the
report to a real printer as one page tall report. Here is an example of
printing the report to a page cache in memory to a TppDevice.
http://www.digital-metaphors.com/tips/Booklet.zip
3. You can set the page height to a really large number. But, I dont believe
changing the page height in your scenario would work.
Cheers,
Jim Bennett
Digital Metaphors
http://www.digital-metaphors.com
info@digital-metaphors.com