3 Replies Latest reply on Dec 22, 2013 10:41 PM by philmodjunk

    How do layouts refresh?



      How do layouts refresh?


           I have a layout with  few tabs and each tab has a portal which is linked to various tables related to the main table for that layout.  Some of the portals can be quite large with records or data, likely resulting in slowing down the process as the database gets larger.  When the layout is entered or if a script calls for a refresh window, does everything in the layout get refreshed at one time, even if the tab and its related portals are not showing at the time? or does the tab and portal only refresh when they are visible on top?

        • 1. Re: How do layouts refresh?

               I think you'll find that only the portal in the visible tab panel will refresh. At least that's how web viewers work. I routinely put web viewers inside tab controls so that I can quickly flip or scroll through records without having to wait for them to update.

               But also note that if you are getting significant delays in getting a portal to refresh, it may be that a modification of your design my reduce or eliminate those delays. Summary fields and calculation fields with aggregate functions--such as Sum, count, average etc are the usual culprits for slow refresh times. And references to these can be put inside conditional format expressions and portal filter expressions.

               Relationships that use inequality operators will also produce larger refresh times.

          • 2. Re: How do layouts refresh?

                 Thanks - good to know only the visible tab panel refreshes.  My portals in tabs not visible do have a few summary and calculation fields.  I am not sure to make of your comment:   "And references to these can be put inside conditional format expressions and portal filter expressions."  Is this a way to help eliminate the delays?  Can you give me an example?

            • 3. Re: How do layouts refresh?

                   These are not ways to help eliminate delays, they are additional ways that a delay causing reference to a summary field or aggregate function can hide from you the developer when you start looking for which possible delays might exist in a given layout.

                   Example: If you have a conditional format expression such as:

                   Table::Summaryfield < 45

                   You've got a conditional format that might slow the layout refresh, but the fact that it refers to a summary field is not visible when you just look at the layout. Even opening up the conditional format dialog may not make this obvious unless you use a naming convention that makes it easy to identify a summary field by it's name. (I start all field names of summary fields with a lower case s such as sTotalCost.)