JasperReport set number of records per page - jasper-reports

after exporting jasperreport template, I found that the number of records per page depends on pageHeight. Suppose I always want all the records to be on one page, is there a way to specify this? is there a way to get how many records I want per page? it seems to be depending on height of the report.

You could put in a page break that prints out when $V{REPORT_COUNT} == $P{SOME_NUMBER}. This would force a new page to start.
You can't really ensure that all the records will be on one page unless you only get X number of records. Jasper is built to output the data you give it and if you give it lots of data it will try to output it all.
You can do things like make the font smaller to put more data on the page or to use columns so that data will use the space more efficiently.
Maybe if you give a description of what you want to do a suggestion more suited to your needs may be possible? :)

Related

Display multiple columns in a group header with charts

I want charts generated for each group to appear in a multi-column format in one group header. I could do it with subreports, but I'm looking for a solution that doesn't require me to load the data set multiple times. How can I achieve this?
Long story short, Crystal isn't a good fit for this.
Even if the number of groups wasn't variable, Crystal reports is fixated on delivering and iterating your records from top to bottom. It's not impossible to structure that, but it would be way more work than it's worth. Plus you'd waste too much time handling the variable number of charts and ensuring unused ones were suppressed. And even then, you'd probably need to use subreports.
You'd have better luck using something other than Crystal for generating this behavior. Even if it meant creating a subreport for the chart and writing a VS program that displayed that report multiple times for each "Group".

Collect all data from Crystal Report

I have a crystal report containing multiple subreports. I need to find the way to 'collect' all the data printed on the report/subreports in the following (or similar)
format:
Page1:FieldName1=Value1|FieldName2=Value2|...|Page2:FieldName1=Value1.1|FieldName2=Value2.1|.....
So, the important note is that there is a possibility to figure out on which page (in the PDF generated from report) the particular field value occured.
I tried to do some complex formulas which would 'remember' all the data in a cumulative string within formula(s) (WhilePrintingRecords) but the part I can't achieve is to associate each value to correct Page number of the main, top level, report (the page numbers are of crucial importance in this purpose).
The problem is even more complex because of the groupings and linking applied in main report and subreports, so the Page numbers is at the end of the printing kinda changed comparing to design time order.
Can anyone come up with any idea please?
Thank you Siva, your reply led me to another thing to investigate (I'm new to Crystal Reports) - the issue was actually not related to incorrect execution of the formula keeping the page counter, but rather the one more formula I thought was not executing, since I didn't know that if formula is in the section which is suppressed (and hidden) IS STILL EXECUTING. The counter always counted one more page which was sufficient. When I removed that formula that I didn't need - it worked just fine. So, it was my fault :(

Create multiple tables from single query in Jasper Reports

I have to create a report where main thing is a list of items. On the first page there is also supposed to be a bunch of tables that show figures counted from the list (things like amounts of different types of items etc).
Here is an example to demonstrate the idea. List of the items is actually quite long and goes for multiple pages. Other statistics will be listed only on the front page.
(..edit: seems I can't post images yet..)
I have a database query that retrieves the data for the item list. The question is: Is there a way to use this single query to form all the needed statistics?
All the statistics are such that they can be formed with for example using jaspers groups and variables. I also know how to achieve the desired result by using a subreport for each table (and then I'd even be able tailor the query for each table to directly result the wanted values) but I would like to avoid running the same (or almost same) query for multiple times.
Try to put your table component into the SUMMARY band because detail band repeats the record for every row in dataset.
See this

Crystal Reports - Remove Excess Records

Good day everyone. I would like to ask for help regarding printing records using Crystal Reports.
My aim is to print all the records in the report. The problem is that when I have only two or three records, the form will still print a space to forcibly expand it into a one whole page.
What I have did is to manually place all the parameters in the form, and add a record number parameter built in the Crystal Reports Designer. I loaded a dummy record with nothing in it. Now when I run a report wherein I have only two to three records, I have this output.
How will I work out this problem? I can only find in the Internet about shrinking, but not expanding.
In the Section Expert, check 'Suppress Blank Section'. Hope that helps

Multiple questions on BIRT

I am new to BIRT.
I have a requirement to print a HEADING based on a database value. How do I do that?
How do I leave a Blank line upon break in one of the fields I am reporting?
In the footer, I need to say "Page X of Y" where Y is the total number of pages?
After creating the data source, switch to the "Master Page" and drag the field in question into the header.
No idea.
There are a couple of computed fields (called "AutoText") available. One of them renders itself as the total number of pages.
As you are new to BIRT it would be good to start with the Tutorials. Reading the FAQs is usually enlightening, too. Make sure to check out the BIRT community resources like the mailing list archives, etc. too.