Showing results for 
Search instead for 
Did you mean: 

SubmitForm command changes Gallery.Selected item record

I have an app connected to a SharePoint list. I have a form that is in Edit Mode, and loading from a Gallery via .Selected property. After submitting changes successfully, the Edit Form control is changing the .Selected value to the first record in the data source set. This should not be happening, it should just load the currently selected record. I noticed this change today and last worked on the app late last week. Anyone know why this would happen? I haven't changed anything in the code since last week :(.




That's a neat and simple solution - I'll be sure and try it using the new 'set' command they just released too!

Not applicable

Josh, thank you. 


Please see


it provides a complete solution that keeps the current record selected AND updates are reflected in the form.



Helper II
Helper II

Staff, is this acknowledged as a bug in PowerApps?


I have the same problem even with the solution of using a variable set to the Gallery.Selected in the navigation.


First screen:

  • EditForm('Form part 1') then Navigate( Screen_1_Contract; None;{MyContract: 'GalleryContracts'.Selected})



  • 'Form part 1' item property = MyContract
  • Next button : SubmitForm('Form part 1')
  • 'Form part 1' OnSuccess code : Navigate(Screen_End, None)

Any Idea / solution ?

Hi FredA


I'm slightly confused by what you've posted... looking at your "First Screen" statement, why would EditForm and Navigate be on the same command line? Shouldn't your EditForm be in the Screen_SyntheseContrat?


On your 'Form part 1' OnSuccess property, you have added a command to navigate away from the screen with the form on it... If your form is changing the Gallery.selected record, could it be because you are only using the variable in the form on the Screen-SyntheseContrat page and not the Screen_End page? Could you establish what is on your Screen_End page? If it has another form then it will also need to use the variable. 


Hi Josh, For you first remark on EditForm and Navigate on the same line, I don't remenber why 😞 I also have a new button with NewForm and Navigate on the same line. So I do the same for Edit. May be I'm wrong, I'll try without EditForm. 'Form part 1' DefaultMode is set to Edit. It should work. For the 2nd point, on the Screen_SyntheseContrat. I also use a variable to navigate to the Screen_End (it ws not in my previous post). - 'Form part 1' item property = MyContract - Next button : SubmitForm('Form part 1') - 'Form part 1' OnSuccess code : Navigate(Screen_End, None, ;{MyContract: 'GalleryContracts'.Selected}) I've made several tests to determine where is the problem. If I remove the code from the OnSuccess I have the same behaviour so, this is the SubmitForm which causes the data to change.

It's odd that you have the same behaviour if you remove the OnSuccess code. 


I could see where the problem might be in your original OnSuccess command:

Navigate(Screen_End, None, ;{MyContract: 'GalleryContracts'.Selected})

Doing it this way would definitely cause you to continue to have the error because when you trigger OnSuccess, the gallery changes it's selected item and you are recreating the MyContract variable with the new Gallery.Selected (aka the first record). 


If the problem was just caused by this above command you could simply put 

Navigate(Screen_End, None, {MyContract: MyContract}) - this would create another variable of the same name and value to use in the Screen_End page... what you have to remember is that when you navigate and create a variable, the variable can only be used in the screen that you are navigating to, it cannot be used in any other screens, so you have to keep re-creating the variable in each screen that you navigate to afterwards. 


If you leave the OnSuccess code empty, presumably it should stay on the Screen_SyntheseContrat page? If this is the case, is the form on that page changing it's data after you save it or is it keeping the same record open?


Unfortunately my trial has expired so I can't reference my own solution anymore Smiley Frustrated

I've changed the navigation function to Navigate(Screen_End;ScreenTransition.None;{MyContract: MyContract}) nut I still have the same behavior. I probably use 'GalleryContracts'.Selected.xxxx somewhere in Form part 1 ... I'm checking

This solution works, kind of.


When there is a column that is not unique (department, for instance) that is used as the selected column, then returning to the Gallery.Selected does not necessarily get you back to the record you are editing or edited.  I thought that there may be a way to get back to the selected record, but it just returns to a record that has the department.  For instance, if I have two departments - Tax and General Business - and I change a record that is assigned as Tax to General Business - then it returns me to the next "Tax" record.  Not exactly what I want. 


Any suggestions? 

Kudo Commander
Kudo Commander

I am also facing this issue. Any solution so far?

Helpful resources

Power Apps News & Annoucements carousel

Power Apps News & Announcements

Keep up to date with current events and community announcements in the Power Apps community.

Community Call Conversations

Introducing the Community Calls Conversations

A great place where you can stay up to date with community calls and interact with the speakers.

Power Apps Community Blog Carousel

Power Apps Community Blog

Check out the latest Community Blog from the community!

Top Solution Authors
Top Kudoed Authors
Users online (6,535)