cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Bri
Advocate III
Advocate III

update a field for each item in a browse gallery

I have a browse gallery that gets updated from a collection that is built earlier in the app.

 

What i want to do now is loop through all items in the browse gallery, and update a field in each item for these items only in this browse gallery. The problem is, it updates ALL items in the list the app is built off, and not just the items in the browse gallery.

 

Here is my current code, I do not understand why ALL items in the list get updated, and not just the items in the browse gallery!!

 

ForAll(BrowseGallery1_3.AllItems, UpdateIf(Inventory, BrowseGallery1_3.Selected.Tracking_ID in Inventory.Tracking_ID, {Equipment_Status:"CHECKED OUT", Renter_x0020_Name:TextInput2.Text}))

1 ACCEPTED SOLUTION

Accepted Solutions

Hey thanks for the post, i just figured it out though!!!

 

Here is my code: Where selectedItems is my collection built earlier in the app, Inventory is the sharepoint list, and Tracking_ID and Renter_x0020_Name are the fields i wanted to update!!!! So happy i solved that!

 

ForAll(SelectedItems, UpdateIf(Inventory, Tracking_ID in SelectedItems.Tracking_ID,{Equipment_Status:"CHECKED OUT", Renter_x0020_Name:TextInput2.Text})); SendPinNumberToUser.Run(User().Email, TextInput3.Text); Refresh(Inventory)

View solution in original post

3 REPLIES 3
Anonymous
Not applicable

@Bri

 

Could you use the Filter() formula to filter down the records to only those that you want/need to update? Then do a refresh of the datasource so that you display the latest information in your gallery?


Something like this in your update formula: 

 

Filter(Inventory, BrowseGalelry1_3.Tracking_ID in Inventory.Tracking_ID)

 

And then refresh the data source like this:

 

Refresh(Inventory)

 

Could that work?

 

Tudor

Hey thanks for the post, i just figured it out though!!!

 

Here is my code: Where selectedItems is my collection built earlier in the app, Inventory is the sharepoint list, and Tracking_ID and Renter_x0020_Name are the fields i wanted to update!!!! So happy i solved that!

 

ForAll(SelectedItems, UpdateIf(Inventory, Tracking_ID in SelectedItems.Tracking_ID,{Equipment_Status:"CHECKED OUT", Renter_x0020_Name:TextInput2.Text})); SendPinNumberToUser.Run(User().Email, TextInput3.Text); Refresh(Inventory)

Hello from 2018!

I have been pulling my hair out trying to work this out, and thanks to your post I can now glue my hair back on!

I was trying to achieve something very similar to you, but logic thinking (and only starting to use PowerApps 2 days ago) wasn't working.

 

Thank you!

Helpful resources

Announcements
Ignite 2022

WHAT’S NEXT AT MICROSOFT IGNITE 2022

Explore the latest innovations, learn from product experts and partners, level up your skillset, and create connections from around the world.

Power Apps Africa Challenge 2022

Power Apps Africa Challenge

Your chance to join an engaging competition of Power Platform enthusiasts.

Top Kudoed Authors
Users online (1,398)