cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Dusty
Frequent Visitor

Must completely restart app in order to update collection?

Hello everyone, 

I am pretty new to the PowerApps world and I have run into an issue that I am hoping someone can help with. 

 

I have built a basic app that uses a sharepoint document library (including several Columns/Properties) as its main data source. The purpose of the App is to view/edit the properties for a given item in the list. I have succefully gotten the app to write information back to the sharepoint site with minal latency. 

 

The problem comes in when I attempt to make a change to an item from within the sharepoint library itself, the change is not reflected in the application even after I run a command to ClearCollect the data source. (OnStart I am using ClearCollect(invoicecache,'Invoice Approval') to cache the the Sharepoint Library locally on the device.) 

 

Why is it that i need to completely restart the application or reload the editor inorder to get the ClearCollect to pull the most recent changes from the sharepoint library? 

 

Thanks for the help!

1 ACCEPTED SOLUTION

Accepted Solutions
Pstork1
Dual Super User III
Dual Super User III

I suspect you ned to run a refresh(nameofdatasource) before you issue your clearcollect() call. As @RezaDorrani said the OnStart only runs when you start the application.  But even running a ClearCollect right after you update the datasource may not get a new copy of the datasource. Its not clear whether you are only running ClearCollect in OnStart or also elsewhere.  If you are running it elsewhere make sure you do a refresh of the datasource before running ClearCollect to get a new copy of the data.

 

BTW, in general it shouldn't be necessary to pull your datasource into a collection.  Most apps work with the data directly in the datasource. Collections are used to manipulate data locally or store a copy of a datasource when offline.



-------------------------------------------------------------------------
If I have answered your question, please mark your post as Solved.
If you like my response, please give it a Thumbs Up.

View solution in original post

9 REPLIES 9
RezaDorrani
Dual Super User II
Dual Super User II

Hi @Dusty 

 

OnStart only works when app is started and this is triggered only once

 

Hence we you restart the app your collection is reloading

If you have multiple screens you can try creating your collection OnVisible of screen

or may be add a button on select of which you can re-create your collection

 

Regards,

Reza Dorrani

 

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly

@RezaDorrani 

 

Thanks for your reply!

I had the same thought - I am actually using a button in one of my screens just to simply force the ClearCollect() function to run. But it appears that this does not accurately reflect changes made unless i restart the application.

RezaDorrani
Dual Super User II
Dual Super User II

Hi @Dusty 

 

what is your data source? is it SharePoint?

how many items are there in the backend data source

 

when using clearcollect are you getting a delegation warning?

Check the app checker

Pstork1
Dual Super User III
Dual Super User III

I suspect you ned to run a refresh(nameofdatasource) before you issue your clearcollect() call. As @RezaDorrani said the OnStart only runs when you start the application.  But even running a ClearCollect right after you update the datasource may not get a new copy of the datasource. Its not clear whether you are only running ClearCollect in OnStart or also elsewhere.  If you are running it elsewhere make sure you do a refresh of the datasource before running ClearCollect to get a new copy of the data.

 

BTW, in general it shouldn't be necessary to pull your datasource into a collection.  Most apps work with the data directly in the datasource. Collections are used to manipulate data locally or store a copy of a datasource when offline.



-------------------------------------------------------------------------
If I have answered your question, please mark your post as Solved.
If you like my response, please give it a Thumbs Up.

View solution in original post

I am using a Sharepoint Document Library as my datasource. The library only has about 150 items in it. I do not see a delegation warning at this time. 

RezaDorrani
Dual Super User II
Dual Super User II

Hi @Dusty 

 

Ok then clearcollect should work if called on button click or OnVisible of screen (if navigating to screen)

You can try with Refresh(dataSource) as well as @Pstork1 suggested

 

But Refresh is an expensive operation (in terms of performance) 

Ideally if your data source is directly connected to a gallery and there is no delegation warning it would fetch the latest results for you

 

Regards,

Reza Dorrani

 

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly

Pstork1
Dual Super User III
Dual Super User III

I've seen some issues in the past with SharePoint Integrated PowerApps not updating after a save.  Refresh() was needed to solve that.  It was a timing issue.  If you waited a couple minutes it worked fine.  This may be a similar kind of thing, especially if the Patch() to update the datasource is coming right before the ClearCollect() on a button click.



-------------------------------------------------------------------------
If I have answered your question, please mark your post as Solved.
If you like my response, please give it a Thumbs Up.
Dusty
Frequent Visitor

Thanks @Pstork1 , 

 

FYI the reason i am storing the datasource locally is because i was experiencing performance issues with trying to filter the datasource into different "views" for the end user. The filter was parsing the online datasource which took time everytime I selected a different filter. 

 

I have added the Refresh('invoice approval') to the "refresh button" and that appears to have done the trick!

Dusty
Frequent Visitor

That is the exact issue I was having before I moved everything to a collection. 

Helpful resources

Announcements
PA_User Group Leader_768x460.jpg

Manage your user group events

Check out the News & Announcements to learn more.

Power Query PA Forum 768x460.png

Check it out!

Did you know that you can visit the Power Query Forum in Power BI and now Power Apps

Carousel 2021 Release Wave 2 Plan 768x460.jpg

2021 Release Wave 2 Plan

Power Platform release plan for the 2021 release wave 2 describes all new features releasing from October 2021 through March 2022.

PowerPlatform 768x460.png

Microsoft Learn

Check out our new Discover Your Career Path blog post series and get all the details.

Users online (2,964)