Jump to content
Claris Engage 2025 - March 25-26 Austin Texas ×

This topic is 7459 days old. Please don't post here. Open a new topic instead.

Recommended Posts

Posted

This is for development in IWP.

I have a report using a portal (because of the 5 record limit for list view) that needs to be printed out. However you are only able to print as much as the portal displays on screen.

Is there a way to dynamically increase/decrease the portal rows so they match the number of records in the table?

Thanks

Emma

Posted

I don't think there's an elegant way to do it. One way would be to create a few layouts with say 5,10,15,20 rows in the portal respectively. Then create a script that chooses the layout to display based on a calculation ( count(table::field), for example )

You would still have to account for some finite number as the largest number you would want to display.

Posted

Hmmm... i don't do any IWP, but i wonder if you could reverse the relationship, so to speak, for the purposes of this printout? That is, instead of printing records in a portal on a layout tied to ParentTable, print non-relational records on a layout tied to ChildTable, with the appropriate (related) data displayed from ParentTable. You would have to script the printing, but then, that's probably a good idea in any case.

Does this help?

Jerry

Posted

It probably would if I understood what you meant blush.gif

It has to be related, its not actually rows matching the total records in the table - it'll be a subset of these.. defined by a relationship.

I think I'm just going to have to abandon the idea of printing from a browser.

Thanks though!

Emma

Posted

Right, so depending on the number related records in the portal, you would just switch to a layout that has a big enough portal. I'm just saying you could use conditional scripting to automatically choose the right layout.

Posted

smile.gif

Let's say you have a table called Companies, with a layout that shows a portal where records from the Employees database are displayed. Going with your example, this portal is only 5 rows high so you can't print more than 5 employees.

Let's look at this in another way: What if you went to a layout that displays records from the Employees table instead? Now you can do a find for all employees in the desired company, and print those employees to your heart's content, with no limit on the number you can print. Additionally, you can drop a related field into the header on this layout that shows, say, company name.

Now go one step better and make a script that 1. Goes to the Employees layout, 2. Finds the appropriate set of records, 3. Prints, and 4. Goes back to the Companies layout. Attach this to a button on the Companies layout labeled "Print." Now the user clicks the Print button, gets a list of all the employees, and is returned to the original layout, without having any idea what's going on in the background.

Depending on what you're doing, this may be unworkable or impractical for you, but i figure it may be worth a shot.

J

Posted

but there is a limit of 5 records on screen in list view for IWP. I think the limit for table view is 20. Hence the desire to use a portal to show more records at once.

Posted

QuinTech - you are right, its the fact that there is a limit on the records for both list and table view.

I was hoping to have a large portal so it would display all records at once and therefore be able to print them all off from a browser.

I think I will try using the conditional portal page thing.

I am sure there will be some kind of delay loading the page with a 500 row portal?!

Thanks for both your help.

M

This topic is 7459 days old. Please don't post here. Open a new topic instead.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.