cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
aabrin
Advocate II
Advocate II

Bug/Issue "Delayed Load" option causes failure to Collect in OnStart for SQL Server views

So here's my scenario:

 

App.OnStart:  ClearCollect(ProjectLists, dbo.ProjectView)
(Dropdown List)dlProjectList.Items:  ProjectLists

When loading this in the app designer, everything seems to work fine.  But when loading a published version for use, the dropdown will end up empty.  This isn't 100% replicable, sometimes it works, sometimes it doesn't, but it seems like once it stops working it'll remain broken forever.

Turning off "Delayed Load" resolves this issue completely.

 

I'm not sure what Delayed Load does exactly, but my suspicion is that it's doing something like connecting the dropdown to the collection BEFORE the Collect runs in OnStart, because it's delaying the collection until "needed".  I haven't verified if the collection ends up with data and the dropdown is empty, or if the collection is also empty.

1 ACCEPTED SOLUTION

Accepted Solutions
v-monli-msft
Community Support
Community Support

Hi @aabrin,

 

See the explaination about Delayed Load in documentation here:

When we bind a table directly to a UI Element as in Option 1, the call to the table will happen automatically when the app loads even if the screen is not yet visible. If you have app with 10 screens and each screen has multiple controls directly bound to your data source, at load time, your app will make a pretty significant number of network calls as it evaluates each one of these controls across all screens. There is an experimental flag that one can set to avoid this behavior:


clip_image002

Regards,

Mona

Community Support Team _ Mona Li
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

3 REPLIES 3
v-monli-msft
Community Support
Community Support

Hi @aabrin,

 

See the explaination about Delayed Load in documentation here:

When we bind a table directly to a UI Element as in Option 1, the call to the table will happen automatically when the app loads even if the screen is not yet visible. If you have app with 10 screens and each screen has multiple controls directly bound to your data source, at load time, your app will make a pretty significant number of network calls as it evaluates each one of these controls across all screens. There is an experimental flag that one can set to avoid this behavior:


clip_image002

Regards,

Mona

Community Support Team _ Mona Li
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

To be clear, I'm really just trying to communicate a bug I found, not really looking for a "solution", as the solution is turning off the option.

seadude
Memorable Member
Memorable Member

Hello @aabrin and @v-monli-msft.

I'm having the same issue: ClearCollect is not running consistently against a SQL View on mobile device only. Works fine in IDE Preview and Browser Player.

My code is not OnStart, but rather OnSelect of a button. Unfortunately, turning off Delayed Load DID NOT fix the issue.

Other suggestions? This app is now past due because of this issue.

Thanks

Helpful resources

Announcements
UG GA Amplification 768x460.png

Launching new user group features

Learn how to create your own user groups today!

Community Connections 768x460.jpg

Community & How To Videos

Check out the new Power Platform Community Connections gallery!

M365 768x460.jpg

Microsoft 365 Collaboration Conference | December 7–9, 2021

Join us, in-person, December 7–9 in Las Vegas, for the largest gathering of the Microsoft community in the world.

Top Solution Authors
Top Kudoed Authors
Users online (1,888)