cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Highlighted
AFernandez
Level: Powered On

How to assign a value from a field on one screen to a label in a gallery on another screen

I'm not sure if the subject explain correctly the problem.

 

I'm creating and app to showcase/review information from a sharepoint list.  The reviewer should have the option mark an item as approved.  This approval should be only for reference in the app an not be registered in the SharePoint list.

 

I have a General Screen with a Gallery that pulls basic information from the SharePoint List.

I have a Detail Screen where I have labels that show detail information from the SharePoint list based on the Item selected in the gallery (ThisItem.Name of the field selected from the gallery).

 

I want the reviewer select an item from the gallery on the General Screen to go to Detail Screen.  In the Detail Screen the reviewer should review all the details from the item selected in the gallery and have an option to mark it as approved.  I want a label in each item of the gallery that shows the approval status according to what the reviewer marked on the detail screen.

 

So far I have been able to use a toggle control to assign the approved or not value on a label on the Detail Screen, but I havent been able to use this value to populate a label in each item of the gallery on the general screen.  I have been able to pass the value to the label on the general screen, but it assigns the same value to the labels on all the items in the gallery, not the unique value to each item of the gallery.  

2 REPLIES 2
Community Support Team
Community Support Team

Re: How to assign a value from a field on one screen to a label in a gallery on another screen

Hi @AFernandez,

Do you add a corresponding Status column in your SP list to store the Approval Status value for each item?

Based on the needs that you mentioned, I think you could consider take a try to create a Yes/No type column (called "IsApproved", default value set to No) in your SP list to identify if the item has been approved.

I have made a test on my side, please take a try with the following workaround:6.JPG

 

7.JPG

Within the Gallery control (BrowseGallery1) of the General screen, add a Toggle control, set the Default property to following:

ThisItem.IsApproved         /* <-- IsApproved represents a Yes/No type column to store the Approval Status value in your app */

Set the FalseText property to following:

"Not Approved"

Set the TrueText property to following:

"Approved"

Within the Detail screen, add a "Mark As Approved" button, set the OnSelect property to following:

Patch('20190115_case13', BrowseGallery1.Selected, {IsApproved:true});
Refresh('20190115_case13');
Back()

On your side, you should type:

Patch('YourSPList', BrowseGallery1.Selected, {IsApproved:true});
Refresh('YourSPList');
Back()

Please check the attached GIF screenshot for more details:

 

More details about Patch function in PowerApps, please check the following article:

Patch function

 

Best regards,

Kris

Community Support Team _ Kris Dai
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
AFernandez
Level: Powered On

Re: How to assign a value from a field on one screen to a label in a gallery on another screen

Thank you so much for the help!  It didnt work, but I see how what you suggested could work with some changes.

 

I do not own the sharepoint list where the data is stored, I just use the data for reference, so I can't create a new column to store the submittal status in sharepoint. 

 

I think what you suggested would work perfectly if I could assign the value of the toggle control in the gallery on the browsergallery1 with the mark as approved button on the detail screen. It does not matter if the status is not registered in the sharepoint list.  It would also help if the mark as approved button change the detail screen to view only and navigate to the browerscreen1.  I have been trying to do this based on your example but so far I have not been able to do it.