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
PA User Group

Welcome to the User Group Public Preview

Check out new user group experience and if you are a leader please create your group

MBAS Attendee Badge

Claim Your Badge & Digital Swag!

Check out how to claim yours today!

secondImage

Are Your Ready?

Test your skills now with the Cloud Skill Challenge.

secondImage

Demo Extravaganza is Back!

We are excited to announce that Demo Extravaganza for 2021 has started!

Top Solution Authors
Top Kudoed Authors
Users online (88,357)