43 Answers, 1 is accepted
Thank you for your interest in Telerik Reporting and up to your questions:
- This is currently not possible and the Report Footer would always follow the previous section, be it detail or group footer. However we had this request from other clients as well and we would consider introducing the ability to have the report footer at the bottom of the page (right above the page header of course).
- You use the global objects PageCount and PageNumber. As the Understanding Report Sections help article explains, you can use them only in page sections (i.e. Page Header/Footer).
- You cannot - the report is first processed and then rendered, but there is no event you can hook on to get the height after it has been rendered. However we do not believe there is a need for you to know that, so please elaborate what you're aiming for.
the Telerik team
If you pay attention to a lot of big business reports/bills you often see info like locations, phone numbers, contact info along the bottom of reports.
I was hoping that Q2 2010 would add this feature, but I don't see it listed. Even a new section for printing info at the bottom of the page at the end of the report would work well. This would allow me to split the info into a section that prints right after details and another that prints at the bottom of the page.
Hope this feature is coming soon. Thank-you.
Thank you for your interest in Telerik Reporting.
We will have in mind you considerations. With Q2 2010 we haven't been able to introduce the ability to have the report footer at the bottom of the page (right above the page header of course). As my colleague mentioned in previous post, we would consider introducing this functionality for a subsequent version of Telerik Reporting.
the Telerik team
Anyone tried to calculate the correct position at run-time then insert a "dummy" panel in the last detail section to force the footer to the proper position? Or any other work-around?
I sincerely hope Telerik doesn't repeat the "Borland/Inprise" fiasco, where a company with great development tools turns it's eye to "ALM" and "Enterprise Development" and ends up leaving it's flagship products rotting on the vine.
Resources are always a problem especially when you have to catch up with the competition which are 5 or more years ahead of you. You have to carefully weigh up features and tag a few as more important for upcoming release. If you consider yourself lucky, then the one you've wished for would be in the RoadMap and be part of our next release. We tend to listen to customers and to the features you ask about, but sometimes the big picture is different and matters more.
Anyway, about that feature - it seems that the main reason why people ask for it is, because of the inability to use database fields in the page sections. The latter on the other hand is a building block of the whole report concept, namely page headers/footers are not related to the report itself, but are relative to the margins of the report's media, i.e. to the paper or screen. The report footer on the other hand follows explicit logic to be after the last report section and thus cannot be easily changed.
Thus, it is not very clear how we should proceed with this request and once we come up with a feasible idea, we would surely implement it.
In short, in this case it is not only a matter of available resources and desire to implement the feature, but lack of clear idea how we should proceed, which requires more thorough research, which means less time for other features.
Don't get us wrong, we're not running away from our responsibility to deliver, we just want to make sure we deliver features with the Telerik quality you're used to.
the Telerik team
Thanks for taking the time to reply. I'm certainly not here to bad-mouth Telerik or assert that the reporting team is sub-par. All I can tell you is that from a customer perspective - or at least *my* perspective - the other Telerik tools get a LOT more resources than reporting. People have been asking for an End User designer for 3 years. In those 3 years Telerik has produced an enormous number of new products and features such as Just Code, Just Mock, Web UI Test Studio, Open Access ORM, Team Pulse, etc. Those are just the ones that I can think of off the top of my head, there are probably more. But no End User designer for reporting. Just have a look at the release notes and roadmap for reporting and compare to Telerik's other products. That is the reason for my admittedly snarky comment. I'm not saying that the people working on reporting aren't good people, just that it appears - from my perspective - that there simply aren't enough people working on it.
That's also why I am afraid that Telerik may be going down the "Borland/Inprise" road. The vast majority of Telerik's resources *appear* to be going toward "Enterprise" development and your developer tools themselves are suffering for it. This is *exactly* what Borland/Inprise did a decade ago. They had a great development tool (Delphi) and I guess they figured they had done just about as much as they could with it. Then MS came out with Visual Studio 2002 and caught them. Then VS 2003 surpassed them.
Regarding this particular feature, it seems to me that you are already calculating the amount of space left on a page before you render a particular section (namely, the Report Footer). You must be doing that in order to implement the "Keep Together" functionality - you need to know how much space is left on the page and how big the report footer is going to be so that you can decide whether to start a new page. Given this information, it should be fairly simple to just adjust the Location.y property of the Report Footer at run-time so that it appears at the bottom of the page. Or, if you can't easily adjust the "top" or "Location.y" property of the Report Footer then you could just insert a blank "section" with the necessary height in front of the Report Footer. I would attempt this myself but I don't see a "BeforePrint" or "BeforeRender" event that I could use to insert the code. In fact, there are extremely few events at all listed in the designer. Is there any way for me to re-position the Report Footer right before it "prints"? Or to re-size a blank section (maybe a group footer?) that sits directly above the Report Footer?
What I have done in the short term is made the detail section 9 inches tall (there is no page or report header) and then put the "real" detail into a sub-report. This is fine for one-page reports (which most of the invoices are) but it doesn't work so nice for reports that are 2 or more pages. Plus it's a lot more work to create a sub-report.
My experiences have been similar. I used to use infragistics controls such as tab control, ajax, treeview, gridview, etc. and the support wasn't great. Telerik's products seem to be much much better, and telerik's support is much faster and they give accurate information, so I can get my controls working in a timely fashion. However, for reports, I've had a lot of problems, and it seems the features are not there compared to other reporting solutions. I know I can probably get what I need, but it's taking me some time to workaround the limitations (And the report footer showing up only on the first page, and not any subsequent pages including the last page, seems strange to me as well.)
Great work on the controls and overall on the reporting, though it does show its immaturity at times it's nice to be able to work in custom formatting and functions. A very nice bridge between standard reporting suites and development tools.
Telerik Reporting is a general purpose reporting engine and although it works in most cases, there are scenarios that are better handled by other kinds of software like word processors or publishing programs.
The problem with placing any footer at the bottom of a page is that the requested behavior is pretty much undefined and does not fit well into the current paging logic. Although this feature may sounds simple and straightforward there are far more unclear points like how to handle the empty space that will occur between the footer and last detail/group section, should the group content (if any) take this gap, should group footers be rendered at the bottom on every page or only on the last page, etc. We have tried to explain this in our previous post as well, namely it is not a matter of desire to implement the feature, but lack of clear idea how we should proceed.
That is why we will appreciate if you give us more information regarding your particular scenario as it will help us define the task.
the Telerik team
FREE WEBINAR ON THE NEW REPORT DESIGNER! Join us on Friday, June 29 at 10:00 AM PST for a comprehensive demo of the official version of the standalone Report Designer and find out how easy it is to empower your users with creating, editing and sharing ad-hoc reports. You may even win a free Telerik Ultimate Collection license! Register today >>
In my case I'm generating a summary report on inventory.
I have a page header which details the various info about the physical location that appears on every page.
In my details section I have a couple of tables with header rows appearing every page, and which have separate datasources for their respective details. These are the meat of the report and depending on parameters can push the report out to hundreds of pages in length.
The page footer is a simple page number/timestamp was ran.
My report footer is the summary data totals, and a couple of text boxes. The first text box is for a manager signature on a printed copy of the report, and the other textbox for a typical disclaimer like 'by signing this you put you are personally attesting to the report's accuracy, etc.'.
The headers that appear on every page are about 2 inches tall, the report footer is about 4 inches tall. Breaking it to a new page for it would make it easy for somebody to attach any signature sheet to any report so it's desired to keep it fixed to the last page of the report. However for aesthetics and consistency of reviewing the report print-outs it would be nice if it were stuck to the bottom of the page.
Since I know the height of my page header, and I know the height of my page footer, perhaps being able to set a minimum height on my variable height page details section would be enough to solve the problem in my case?
I thought about it and you can already set the minimum height of your detail section. I did so, and reviewed the report with various lengths of data and the report footer is always at the bottom of the page. So I that works for me since I know the height of the headers and they appear on every page, I was just approaching the problem from the wrong angle.
I understand your issues and by no means meant to imply that this would be an easy item to resolve. I just noticed that this particular post was over 2 years old, and I've actually seen other similar posts dating all the way back to 2007 (see http://www.telerik.com/community/forums/reporting/telerik-reporting/summary-at-bottom-of-last-page.aspx). It just doesn't seem like much of a priority to Telerik.
Regarding your specific questions though, I think at a minimum if any kind of footer is hidden/invisible, the space should never be "reserved" and unusable by other sections. If the developer wants to make this space unusable, I suspect there would be workarounds to that (adding panels with nothing in them, etc.). In the above link a Telerik employee provides a workaround. That workaround would not work for me (I know the product is newer now and has Conditional Formatting, but the end result is the same) because the footer that I want placed at the bottom of the last page takes up more than 1/3 of the entire page. If I put it in the Page Footer and hid it for all pages except the last, more than 1/3 of all of my other pages would be blank, and this is unacceptable.
Regarding whether or not to repeat group footers on all pages or not, I suppose this could be a property setting of the footer. You'd probably have to add another property setting to determine if aggregate values are over the entire group up to that point, or just aggregate values for the current page.
In any event, I do understand there is a lot to think about. My frustration is not that I think this is "easy", but that Telerik has had the opportunity to think about these things for many years now and hasn't come up with anything (specifically regarding the footer issues of course).
Also, there is no reason why these types of enhancements can't be rolled out in phases. There is no need to think through every single possible scenario before rolling something out. Many people have requested that they would like to be able to put a report footer at the bottom of the last page instead of immediately after the last detail/group. At a minimum I think that Telerik should find a way to make this available as soon as possible. It would still go above the last Page Footer, unless the Page Footer was hidden. If the Page Footer is hidden, that space should not be reserved and the Report Footer should go as far to the bottom as the margins will allow. Again, if the user wants to reserve the space where a page footer would otherwise be, they can simply add some extra space to the bottom of the report footer to make up for it.
Programmatically it may be as simple as taking the contents of the Report Footer and appending them to the Page Footer. If an existing Page Footer is supposed to be visible, just add the contents of the Report Footer before the contents of the existing Page Footer. If the Page Footer is hidden, remove the contents of the Page Footer, add the contents of the Report Footer, and make the Page Footer visible. This is just an idea off the top of my head, but it may be feasible.
I think that overall the Telerik products are great. I just feel like the Reporting is lacking some much-needed attention.
Can you please let me know how you went about setting a minimum height for your Detail section?
Minimum height and height in reporting terms are the same thing. Technically every height given is a minimum as content can cause it to expand.
This works for me as I only have 1 section I know expands, the rest is full of fixed height logos and 1 liner type summary info that I know won't line-break due to a long name etc.
I've attached a screenshot to better show how my report is structured... forgive the redaction - you never know who's going to get annoyed about their info being posted online.
I had to reproduce an invoice and my client wanted the totals in the bottom of the page, and it worked well if the report was on one page but bad in case of more pages where the totals floated around the page, so i tryied different solutions ad read your thread.
but going on after lot of tests i discovered that putting a simple panel on the bottom of the detail section it fill up all the space that remain.
hope the image help.
It is suprising that this feature is still not supported 3,5 years after it is demanded.
Knowing the sizes of the PageSettings.PaperSize, PageSettings.Margins, PageHeader and PageFooter sections, GroupHeader/FooterSection and how many Detail sections will be rendered you can resize the GroupFooterSection Height using binding. For more details take a look at the attached sample report definition. Notice the calculations in the binding for the GroupFooterSection.Height: 11in PaperSize height; 1in per top and bottom margin for the physical page; 0.5in per page header and footer; 0.5in for the group header; and using Exec data function with scope the group we get how many details per 0.5in will be rendered to calculate the rest available space.
Please take a look at the answer in your support ticket #723808. We have provided more information about the suggested by Dj in it.
You just need to go for a simple trick ;)
1. Choose the Binding Property of the Report Footer
2. Choose the Visible Property from the Opened Dialog Box
3. Write an expression as its value, here it is: If(PageNumber=PageCount,"true","false")
And Your're Done!
But there is another issue that I have no idea how to handle it, that is, the space of the footer section remains on the non-last pages!!
Hope it helps,
The page footer and header sections preserve their space set in the report definition even if they are hidden. For more details take a look at the Understanding Rendering Behaviors help article.
You can use a group footer or other section and Data functions as Exec to check the number of records and the available space.
If you need further help, feel free to send us your report definitions and details about the expected result.
its hard to calculate when report is compels and its getting multiple pages
We will appreciate if you elaborate on your scenario that requires this kind of layout.
Generally data processing and paging are two separate processes and as explained in the Understanding Report Sections help article, the paging of a report strongly depends on the format it is rendered to, and that is why page sections and their items are processed by the corresponding rendering extension after the report data has been processed. Additionally they have static size. In this line of thoughts no option is available to expand sections while the report is paged.Regards,
Almos 4 years later and still no possibility to have a property to specify to print the report footer at the bottom of the page. In previous post you ask how to figure it. In crystal Report, it simply print on the top of the last page footer. Please, do it like that and I guess it will be a good beginning for every one.
Thanks a lot,
Documents may have the same sections and still diffrent look as it depends on the data and the expressions developers put into the report definition. A report document has data driven layout, thus manipulating data you can change the layout of the document.
The developers building the report definition can test and determine how the created template is rendered with different sets of data, and organize the data in such way that the template will render to fill the remaining space they want to cover. For example you plot data in a Table item and it splits on two physical pages. Then you want the item to reach the botom of the second page - on trial error basis determine the remaining space and how many items/sections should be rendered additionally to fill it, add empty records to the data source that will force that amount of items/sections to be rendered, and style the items/sections having those "empty values" to look as needed.
We consider this question with high priority. Currently the rendering and the paging are two consecutive processes. Adding a property causing the last section to expand would require both processes to be re-executed, which will slow down the overall performance. The solutions we investigate are more general than reprocessing the whole report, and the actual solution will include changing of the entire rendering mechanism, which is the core of the reporting engine.
Having this into account the task is not that trivial and needs more time to be planned correctly.
Lets say my details section is 7.6in high on pages 1 and 2; on the last page of the report I want it to be 5.6in high. This would allow the report details section to be full page height, when there are more than one page, but would force the report footer to the bottom of the page.
I have tried to configure this in the DetailsSection's bindings using a simple formula
Height = IIf(PageNumber = PageCount, "5.57in","7.57in") but I get an error saying that PageNumber is not defined in the current context.
This would be an excellent work-around until your developers can give this in the form of a properties window option.
Also, I don't think that the suggestion to simply fill the report with blank rows will work since some of the items on our Purchase Requests can be long enough to include wrapping text.
Unfortunately, we are unable to post the requested example, because PageNumber and PageCount global objects cannot be used in the Detail section of a report. They are available only in Page Header and Page Footer sections.
As described earlier in the thread, in order to enable these global objects in the Detail section of the report, we'd have to change the entire rendering mechanism of the reporting engine and also slow it down, which we are trying to avoid.
Is a lot of years we are waiting for this important features.
How to print Report Footer at the bottom of page?
News about it?
The feature is not included in our future plans. If there is a change, it will b listed in our Roadmap with other approved for development features.
Keep in mind features are selected depending on the demand, the task severity and required resources and changes to be implemented. The demand is not little in the case, but it is the task's complexity that stops us.
During the report processing, rendering and paging are performed heavy algorithms for measurement and drawing elements, which means the entire reporting engine will have to be re-worked to achieve the goal to move a single item/section to a custom position. The position is custom as it depends on the applied settings for the physical representation of the report, and the goal can be achieved with custom logic for adding blank records that will force the engine to produce more items/section pushing the desired one on place. This can be achieved with analyzing the custom data and report layout on a trial-error basis.
Check out the Telerik Platform - the only platform that combines a rich set of UI tools with powerful cloud services to develop web, hybrid and native mobile apps.
Ability to print ReportFooter section at the bottom of the page was introduced in Q1 2015 with PrintAtBottom property.
Telerik by Progress
The ReportHeaderSection is printed at top of the page - it is the first report section you can display in a report. On top of the ReportHeaderSection can be only the PageHeaderSection, where in latest versions you can hide the page section via conditional formatting and the space will be reclaimed - Page Header and Footer sections.
If the newly introduced settings do not help you to achieve the desired layout, please elaborate with a screenshot and details about the report structure.