Creating multiple report containers

I have to make a modification to a project I did some time ago.
The modification requires a report where master table records are to be printed side by side (two or three depending on the page format) with child records below each master record.
My route was to place two or three report containers side by side and handle the master detail records per container.
This issue is still for version 21.

The designer-manual tells me that I can have multiple report containers, but does not say anywhere how to do that and what the conditions are for having multiple containers.
The samples have a report with multiple containers, but do not explain anywhere how this is achieved.
When I try to add a second report container to a report, I find that the option is greyed-out and thus not available.
When I try to copy an existing report container I get a message that this type of report does not allow multiple report containers, but it does not tell me why multiple containers are not allowed.

Could anyone please assist me with this issue.
Thanks,
Peter

You need a data provider as data source. This basically limits you to. NET, Delphi, Xbase++ or C++. Would that still work for you?

Here is a blog post with some technical details.

This would work for me as I am an Xbase++ user, but this is an addition to an existing application for one user, I would prefer to keep the current reporting structure intact.
Would it be possible to implement this with a single report container?

You could try to use two or three columns for the single report container and set the pagebreak condition for your master table to “true” in order to force a column break for each master. This should work as long as each individual master/detail sequence fits on a page.

See here for a short explanation.

Thank you. This should work perfectly for my situation.
I have made two different project files to test the solution, but I am running into a problem where a table change is not flagged. After the change from master table to detail table, no other table change is triggered. Even though the relation key fields have different values.
I have been studying the Xbase++ examples that come with L&L and noticed that the one example that comes close to my situation does not work properly as well (Report Container → Report with separate tables), which I assume has the same cause. The other example based on the same source does work, so I assume it has something to do with the project file.
Are there specific conditions that I could have overlooked in the manual and the samples?

I don’t see any problem here, the data is displayed correctly in both tables. The number and content of the records in the tables is also correct.

Where exactly is the problem in the project file you mentioned?

You can choose between two reports. This is the one, which indeed works well, but there is a second option where it lists all the headers together and only the all the details.

Sorry, I reacted too fast. You showed the correct report.
But there is only one table change here. All records of the master table are listed and only then the records of the details table.
Yet the programming is the same as for the other report.
I mentioned this because I would like to trigger a table change (from details to master), which I currently fail to achieve.

Found the solution for my problem. I had omitted the LlPrintFieldsEnd call after printing the detail rows.

2 Likes

© combit GmbH