Home General
New Blog Posts: Merging Reports - Part 1 and Part 2

Footer Height Changing based on Regions within

edited August 2004 in General
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
============================

Comments

  • edited August 2004
    Hi Denise,

    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.

    --
    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
  • edited August 2004
    Hi Nico -

    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



  • edited August 2004
    Hi 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 :).

    --
    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
  • edited August 2004
    Hi Nico -

    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.

    =======================

  • edited August 2004
    Hi Denise,

    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

    --
    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
This discussion has been closed.