cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
sperry1625
Helper V
Helper V

Updating Memory Variables

This is a general question which I think I know the answer to but have seen inconsistent results.

 

In many of the SharePoint Power Apps that I build I load the SP data the user is editing into a variable:

Set( gblRequest, LookUp( 'Requests', ID = SharePointIntegration.SelectedListID ) );

I then set the Forms Item property to this variable.  Generally works well.

There are occasions where an action by the user will require me to update a property in that variable that is different than the one tied to the field the user is currently editing, maybe in an OnChange() event.  This is how I have been doing that:

Set(
    gblRequest,
    Patch(
        gblRequest,
        {
            Status: { Value: "Changed" }
        }
    )
);

 

This is a simple example, but should give you an idea of what I am doing.

So my question is, is this correct? Will this always have the expected outcome?

I have seen instances where I have a Drop Down that is tied to one property in the variable (gblRequest in this example). When the user changes the value of that drop down I need to force a reset on two other fields in the variable.  I do that in the OnChange() for the drop down.  What I see when that happens is the reset works, but the drop down value gets reset back to it's original value.

 

Not 100% sure what is going on here.

 

Anything to help solve this would be appreciated.

 

Thanks.

1 ACCEPTED SOLUTION

Accepted Solutions
RandyHayes
Super User
Super User

@sperry1625 

Your method for setting the variable is correct and the method to change it is correct.


In regard to controls with Items properties (dropdown, combobox, Gallery, etc).  When you change anything that is related to the Item property of the control (as in the above changing of a variable) the formula on the Items will re-evaluate itself.  This is why all of those controls have a Default property (DefaultSelectedItems in the case of a combobox).  This is where you "retain" the item that is selected.  Otherwise you are expecting PowerApps to retain the selection for you.  If the Items formula is a simple formula (no data shaping, no searching, etc) then it will retain it for you, otherwise it will reselect the first item in the Items property table.  Best to always use the default properties to get what you want accurate.

 

I hope this is helpful for you.

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up below. Solved your problem? - Click on Accept as Solution below. Others seeking the same answers will be happy you did.
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes

Really want to show your appreciation? Buy Me A Cup Of Coffee!

View solution in original post

1 REPLY 1
RandyHayes
Super User
Super User

@sperry1625 

Your method for setting the variable is correct and the method to change it is correct.


In regard to controls with Items properties (dropdown, combobox, Gallery, etc).  When you change anything that is related to the Item property of the control (as in the above changing of a variable) the formula on the Items will re-evaluate itself.  This is why all of those controls have a Default property (DefaultSelectedItems in the case of a combobox).  This is where you "retain" the item that is selected.  Otherwise you are expecting PowerApps to retain the selection for you.  If the Items formula is a simple formula (no data shaping, no searching, etc) then it will retain it for you, otherwise it will reselect the first item in the Items property table.  Best to always use the default properties to get what you want accurate.

 

I hope this is helpful for you.

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up below. Solved your problem? - Click on Accept as Solution below. Others seeking the same answers will be happy you did.
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes

Really want to show your appreciation? Buy Me A Cup Of Coffee!

View solution in original post

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 (3,081)