Footer Height Changing based on Regions within
Hello -
I'm having a problem with Footers in ReportBuilder. The Footer (per page)
contains several Regions with a Memo in each one. Depending on the data,
that Memo will change in size, therefore changing the size of the Regions,
therefore changing the size of the Footer. So, for each page of my
report....I could have a Footer with a different height....or no footer at
all (if no data is going to print in it).
The problem I am having is.....in ReportBuilder I setup my Regions in my
Footer....and that original height of the Footer is what is always being
used (it always saves that much space). So even though sometimes certain
Regions in the Footer don't need to print, it always seems to save that
Original Height at the bottom of each page for the Footer. Sometimes I
don't need that much space saved for the Footer. I want to Re-Set the
Footer before I print each page, based on the Height that I think it's going
to be (depending on what data I'm throwing into it)....and it doesn't seem
to work. To make things a little more complicated, I have 2 columns per
page (and each column prints a footer - usually a different one per column)
What am I doing wrong? Any suggestions on how to get Footers working
properly with expanding regions? I don't always want to save that same
space at the bottom....I want to be able to use all the space I can (in the
body) before I print (or don't print) the footer.
Any help would be greatly appreciated. Thanks.
Denise
Page 1 Sample:
===========================
Header Header (column 2)
Body Body
| |
| |
Footer |
Region 1 |
Region 2 Footer
Region 3 Region 1
Region 4 Region 2
============================
Page 2 Sample:
===========================
Header Header (column 2)
Body Body
| |
| |
| Footer
| Region 1
============================
I'm having a problem with Footers in ReportBuilder. The Footer (per page)
contains several Regions with a Memo in each one. Depending on the data,
that Memo will change in size, therefore changing the size of the Regions,
therefore changing the size of the Footer. So, for each page of my
report....I could have a Footer with a different height....or no footer at
all (if no data is going to print in it).
The problem I am having is.....in ReportBuilder I setup my Regions in my
Footer....and that original height of the Footer is what is always being
used (it always saves that much space). So even though sometimes certain
Regions in the Footer don't need to print, it always seems to save that
Original Height at the bottom of each page for the Footer. Sometimes I
don't need that much space saved for the Footer. I want to Re-Set the
Footer before I print each page, based on the Height that I think it's going
to be (depending on what data I'm throwing into it)....and it doesn't seem
to work. To make things a little more complicated, I have 2 columns per
page (and each column prints a footer - usually a different one per column)
What am I doing wrong? Any suggestions on how to get Footers working
properly with expanding regions? I don't always want to save that same
space at the bottom....I want to be able to use all the space I can (in the
body) before I print (or don't print) the footer.
Any help would be greatly appreciated. Thanks.
Denise
Page 1 Sample:
===========================
Header Header (column 2)
Body Body
| |
| |
Footer |
Region 1 |
Region 2 Footer
Region 3 Region 1
Region 4 Region 2
============================
Page 2 Sample:
===========================
Header Header (column 2)
Body Body
| |
| |
| Footer
| Region 1
============================
This discussion has been closed.
Comments
Unfortunately the Page Footer band is the only band that cannot be sized
dynamically. This is because the report engine needs to know exactly where
the end of a page is to make proper page breaks. As an alternative, I would
suggest creating a group that breaks on each page and using the group footer
band instead.
--
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
I'm not sure that I was totally clear before on what I was asking. What I
really need is a Footer that will print at the BOTTOM of every COLUMN on the
page. So, if there are 2 columns per page....I need to print a footer
(different one) at the bottom of each column.
I tried your suggestion of adding a Group Footer Band, instead of using the
Page Footer....and I can't seem to ANCHOR the footer info to the bottom of
the page....it floats underneath the last thing printed in the column. I
wasn't quite sure what you meant by having the 'group break on each page'.
How would I go about doing that? Will my end-result be that my Footer info
is anchored at the bottom of the page(column)?
Is what I'm trying to do even possible? We've got a lot of customers
requesting this enhancement, and I'm on the verge of having to say it can't
be done. Hopefully there is some way. Any further comments? Thanks.
Denise
Are you printing a multiple column report (i.e. Report.Columns property is 2
or more) or do you want an unique footer at the bottom of each "column" of
data you have placed in your detail band? If you are defining multiple
columns in your report, you can use the ColumnFooter Band to print a band at
the bottom of each column. If you would like each column footer to contain
unique information, you could add all the report components to the band and
toggle the visibility of them based on the Report.CurrentColumn property
value. If I'm completely off base here, let me know exactly what your
report configuration is and I'll think of some more ideas for you .
--
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
I'll try to do a better job describing what I need...sorry. Yes, I am
printing a multiple column report. We give our users the option of printing
either 2 or 3 columns per page.....and then we let them choose (from a list)
which components they want to print in the Column Footer (so it changes all
the time).
Just a little back-ground ---> The report is actually 'Tray Tickets' that
get printed out for patients at a hospital (to go onto their patient tray),
and it lists the recipes they are being served for each meal. So the
kitchen prints these tickets out, and puts them on the tray (with the food)
to go up to the patient.
Here is the formatting:
(column 1) (column 2)
========================================
1 cup Orange Juice 1 cup Milk
1/4 cup Scrambled Eggs 1 each Ham Sandwich
2 each Bacon
1/2 cup Fruit
John Smith
Jane Doe Room 13, Floor 1
Room 25, West Wing LUNCH
BREAKFAST August 1, 2004
August 1, 2004 Happy Birthday !
=========================================
So, each column that prints on the page is for a different patient [so
technically, each column on the report is like a different page of the
report]. Depending on the data, the info in the Footer can change (per
column). We set it up in ReportBuilder as a multiple column report, and in
the Column Footer we print different data for each person.
Although I did not show it in the example, there can be several inches of
WHITE SPACE between the last Recipe Detail line and the start of the Footer
information. It's important that we always print the Column Footer
components ANCHORED at the BOTTOM of the page.
Sometimes it could be 5 lines of data for the footer for 1 patient (1st
column), then it could be 10 lines of data for the next patient (next
column)....thus the problem with expanding Footer Heights. So when I set it
up in ReportBuilder....I actually list like10 different components in the
Column Footer....and depending on which components the user chooses to
print....those are the ones we print in the Footer - and the other
components are set to 'Visible=False' [for every column/every page].
So we might start off with 5 components to print in the footer (every column
footer)....BUT, sometimes the patient does not have data for that item....so
rather than have a blank space....we want the Footer to shrink (in height)
dynamically. For example, in the above sample - 1 patient has a Birthday,
so we print the 'Happy Birthday' component in the Footer....it is not the
other patient's Birthday....so we don't print that component in their
footer....and we don't want to see the extra space for it...we'd rather use
that extra space in the body (to print more recipes, if necessary).
So, YES I do want a unique footer to print at the bottom of each column of
data. And YES, I am printing multiple columns per page. We are using the
Column Footer Band - but that does not seem to change height dynamically
either???
Before I start printing each column, I already know exactly what data to
print in that column Footer....and Ideally, I would like ReportBuilder to be
smart enough to save that much space (for THAT column footer) - not more -
not less. For some reason it always seems to save the same space in the
Column Footer (whether I need it or not).
Sorry to be so long-winded. Hope this all makese sense. Let me know what
you think, and if you have any more questions. Thanks again.
Denise
p.s. To add another layer of difficulty...2 of the components that print in
the Footer are MEMOs that vary in height depending on the data being put
into them. It would be great if ReportBuilder could be told how much height
it needs to save for the column footer, just before printing each column.
That is what I've been trying to do the past couple of weeks - with zero
luck. I even wrote a function to determine the exact height of the Footer,
based on everything I was putting into it (even calculating the height of
the expanding memos), and tried to re-set the height of the Column Footer
before printing each column - and it doesn't seem to allow that - or at
least I haven't figured it out yet. One would think that if ReportBuilder
knew the height of the Column Footer before printing the column, that it
could save that exact space for it.
=======================
I went ahead and created a small example for you that gets pretty close to
what I think you are after. I essentially set up a simple Master-Detail
report using the DBDEMOS database and am displaying the company name,
followed by the description of the parts ordered in the column detail. Then
I separated each company into groups so each company would receive its own
column and used the GroupFooter for the dynamic information (in this case
'address') at the bottom. Then using the PrintPosition of the GroupFooter
band, I aligned it to the bottom of the page. You may be able to get
trickier that I did with this aspect since you know the space needed to fit
all your footer information. I simply statically set the PrintPosition to
8.5 just to demonstrate to you how it works and to show you that it will
grow dynamically. Hope this helps.
http://www.digital-metaphors.com/tips/GroupFooterAsColumnFooter.zip
--
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com