Continuous page layout not able to put all tables in one page with enough space

Posted by: naiyin on 18 December 2024, 6:28 pm EST

    • Post Options:
    • Link

    Posted 18 December 2024, 6:28 pm EST - Updated 18 December 2024, 7:22 pm EST

    I’m having a problem with the Multi-Section Continuous page layout.

    Here is my layout:

    Table 1 binds with DataSet “InvoiceDetails”

    InvoiceDetails has multiple rows

    The Table1 should repeat with the InvoiceDetails results

    The Footer table is added to the Table1’s footer.

    All the tables use data from the InvoiceDetails dataset.

    I had to add a grouping in each table to make sure they don’t repeat with the dataset, but only show 1 under Table 1.

    My problem here is that even though there are way enough spaces, Table Section_7 is always getting pushed to the next page

    I realized table Section 1-to-6 and table section7 are in 2 different rows within the table1. However, the row that contains table Section 1-to-6 has a height of 7.2in. Even though the table Section 1-to-6 rows get toggled with visible. The parent row height height is fixed. That is why it pushes down the table Section_7

  • Posted 18 December 2024, 8:29 pm EST - Updated 18 December 2024, 8:45 pm EST

    I think the real question of this issue is

    How can I make the table row auto-adjust its height based on the content with in it?

    The thing is, I have to use a single table in each PageSection.

    I have to show/hide each page based on the condition of the InvoiceDetails row.

    That means the table row has to be able to auto shrink or grow

    However, it seems like only Textbox inside the table row CanShrink, but I need the row to shrink for me

  • Posted 19 December 2024, 3:58 am EST

    Hi James,

    As per my understanding, you want the table rows to shrink automatically as per their contents. However, this is not possible by any property of the row itself, but you can set the height of the rows containing the table to the least possible value and set the CanGrow property of the textboxes inside the table, which is inside the detail row of the main table, to True. This way the textboxes inside the table will grow to the required height based on their contents. Please refer to the attached sample that I created based upon my understanding of your problem.

    Let me know if I misunderstood any requirement. In that case, please share with us your sample report with sample data or edit the attached sample so that it replicates the issue and send it back to us for further investigation.

    Attachment:CanGrowTextbox.zip

  • Posted 19 December 2024, 5:37 pm EST - Updated 19 December 2024, 8:48 pm EST

    The sub-table that is included inside Section_1_to_6 is very long and complicated

    If I set the row height to the least possible value, I won’t be able to see it and edit it.

    The table rows inside the Section_1_to_6 table must be hidden/shown based on the dataset results.

    If some of the rows are hidden, the entire height of Section_1_to_6 will be dynamic.

    In that case, if the parent table’s row height can’t be adjusted, there will be a blank space

    I was thinking about adding all the tables separately, instead of putting them inside Table1.

    However, that way, the each table will repeat with the dataset results and I can’t show/hide them per page(page will be hidden if it doesn’t match the condition)

    Another important thing is some of the text inside the row can be super long, I will need the footer to be shown under each page, but the overflow text will have to start at the beginning of the next page.

    Right if it overflows it starts from the middle of the next page.

  • Posted 20 December 2024, 12:53 am EST

    Hi James,

    Based on the information you’ve provided, we created a sample report following these steps:

    1. We created a dummy InvoiceDetails dataset.
    2. Created the main table (Table1).
    3. Grouped Table1 by shipcountry field.
    4. Added two detail rows to Table1:
    • Row 1: Containing the Section_1_to_6 table.
    • Row 2: Containing the Section_7 table.
    1. Populated Section_1_to_6 Table with fields OrderID, CustomerID, and shipcountry.

    2. Set the Visibility > Hidden property to

      =IIf(Fields!shipcountry.Value = "USA", True, False)
      for Table1’s detail row containing Section_1_to_6 table.

    3. Populated Section_7 Table with fields OrderDate, RequiredDate, and ShipVia.

    4. Set the Visibility > Hidden property to

      =IIf(Fields!shipvia.Value = "Air", True, False)
      for Table1’s detail row containing Section_7 table.

    When tested, this approach worked as expected, and there were no empty spaces for hidden rows. Please see the attached sample.

    If the issue still persists at your end, it would be very helpful if you could share your own report file along with sample data that replicates the problem. This will allow us to analyze your specific setup and provide a more targeted solution. Also, let us know the exact places where you are facing issues so that we can understand the issue further.

    Looking forward to your response!

    Attachment:DynamicHeightRows.zip

  • Posted 20 December 2024, 2:58 am EST - Updated 20 December 2024, 3:03 am EST

    I think this example explains my request better

    I want one page per order id

    Each page shows the details info for each order

    Each page has section 1 to 8

    Each section will have its own table or multiple tables(for layout purpose)

    Some of the sections can be hidden, but if hidden that row height should be reduced so that it does not take the space. i.e. if section 7 is hidden, section 8 should be under the section 1-6 without a blank space of section 7

    The footer has to be able to show the server name(joe doe comes from the dataset)

    The footer has to be able to show the order id of that order

    I made some changes based on your example, but it doesn’t work as I expected yet.

    CanGrowTextbox.zip

  • Posted 20 December 2024, 4:06 am EST - Updated 20 December 2024, 4:14 am EST

    Hi James,

    Please check the attached sample. I have made the following changes:

    1. Set the Visibility > Hidden property of Table1’s detail row containing Section1_6 table as
      =IIF( Fields!shipvia.Value ="Air", True, False)
      .

    1. Set the Visibility > Hidden property of Table1’s detail row containing Section7 table as
      =IIF(  Fields!shipcountry.Value ="USA", True, False)
      .
    2. Set the Visibility > Hidden property of Table1’s detail row containing Section8 table as
      =IIF(   Fields!employeeid.Value =6, True, False)
      .
    3. Removed the Table1’s footer rows.
    4. Added a group to Table1, and set it’s Group on Expression as
      =[orderid]
      because you want to show data of each orderID per page.

    1. Removed the group’s header row as it was not required.
    2. Added one more footer row to the group and showed the Signature and orderID in consecutive footer rows of the group.
    3. Set the RepeatOnNewPage property of the group’s footer rows as True so that they repeat on every page with the new group based on OrderID.

    1. Set the Break Location of the group as Between so that the page breaks between the groups and each OrderID’s contents are shown on a new page. (Edit Group > Layout > Break Location)

    We hope this helps!

    Attachment: CanGrowTextbox_updated.zip

  • Posted 20 December 2024, 5:16 pm EST - Updated 20 December 2024, 10:09 pm EST

    This almost matches what I expected!

    Only 2 issue left

    1. Footer Location

    Is it possible to place the order id at the very bottom of the page

    The order id has to be at the right corner of each page

    Currently, it ends at the middle of the page sometimes.

    2. Attached Page for order

    Some of the orders could have an attached information page that has to be next to the main page.

    i.e. Order via Air has to have an information page for the air-related descriptions.

    How can I ensure the pages for the same order are next to each other?

  • Posted 23 December 2024, 12:53 am EST

    Hi James,

    >> 1. Footer Location Is it possible to place the order id at the very bottom of the page The order id has to be at the right corner of each page Currently, it ends at the middle of the page sometimes.

    You can achieve this behaviour with the help of the BandedList control’s footer’s PrintAtBottom property. You may place it into the group footer of your table and show the required footer at the page’s end with grouping according to the table. You may follow the belowmentioned steps to get the desired results:

    1. Delete the second froup footer from Table1.
    2. Set the BreakLocation of Table1_Group1 to None.
    3. Create a new BandedList and add the footer textboxes to it to show the signaure and orderIDs.
    4. Set the heights of the header and detail rows of the BandedList to 0in.
    5. Set the PrintAtBottom property of the BandedList to True.
    6. Drag and drop the BandedList to the Group footer of Table1, and set the RepeatOnNewPage property of the Table1’s group footer to False.

    >> Attached Page for order: Some of the orders could have an attached information page that has to be next to the main page. i.e. Order via Air has to have an information page for the air-related descriptions. How can I ensure the pages for the same order are next to each other?

    Can you please explain what you mean by the attached information page? Can you edit the attached sample so that it shows the attached information page, as I am unable to understand your requirement here?

    Also, for future, it is always suggested to create a new case for every separate issue, as it helps us manage the daily caseload and avoids confusion.

    CanGrowTextbox_updated_2.zip

Need extra support?

Upgrade your support plan and get personal unlimited phone support with our customer engagement team

Learn More

Forum Channels