cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
EdHansberry
Kudo Collector
Kudo Collector

Unable to get SubmitForm to return to desired screen - EDIT vs NEW

I have a button in an EditForm that either adds or edits info. I had the OnSelect property for the button set as this:

 

If(EditForm1.Mode = FormMode.New,Navigate(MainScreen,Cover),Navigate(DetailsScreen1,ScreenTransition.Cover))

It always went back to the DetailScreen though, even if the FormMode was New, which should take it back to the main app screen.

 

So I found the OnSuccess property of the EditForm and changed it from Back() to:

If(EditForm1.Mode = FormMode.New,Navigate(MainScreen,Cover),Navigate(DetailsScreen1,ScreenTransition.Cover))

But it does the same thing. Adding or Editing a record returns it to the DetailScreen, never to the MainScreen.

 

What am I doing wrong?

1 ACCEPTED SOLUTION

Accepted Solutions
Drrickryp
Super User II
Super User II

Hi @EdHansberry,

In the button that sets the form mode before you navigate to the form's screen, and that holds the NewForm(EditForm1) command make the OnSelect property

NewForm(EditForm1); Set(screenback,1);Navigate(EditScreen,Cover) 

and in the button or icon that holds the EditForm(EditForm1) command, make the OnSelect property 

 EditForm(EditForm1); Set(screenback, 2); Navigate(EditScreen1,Cover)

In the OnSuccess property of EditForm1

If(screenback=1,Navigate(MainScreen,Cover),Navigate(DetailsScreen1,ScreenTransition.Cover))

These formalae should work independent of the form's mode.  The reason I avoided your approach is that I'm not certain what mode the form will be in once the OnSelect property runs and it most likely returns  to the default mode of the form which likely was Edit mode.  Thats probably why it didn't work for you.

View solution in original post

3 REPLIES 3
Drrickryp
Super User II
Super User II

Hi @EdHansberry,

In the button that sets the form mode before you navigate to the form's screen, and that holds the NewForm(EditForm1) command make the OnSelect property

NewForm(EditForm1); Set(screenback,1);Navigate(EditScreen,Cover) 

and in the button or icon that holds the EditForm(EditForm1) command, make the OnSelect property 

 EditForm(EditForm1); Set(screenback, 2); Navigate(EditScreen1,Cover)

In the OnSuccess property of EditForm1

If(screenback=1,Navigate(MainScreen,Cover),Navigate(DetailsScreen1,ScreenTransition.Cover))

These formalae should work independent of the form's mode.  The reason I avoided your approach is that I'm not certain what mode the form will be in once the OnSelect property runs and it most likely returns  to the default mode of the form which likely was Edit mode.  Thats probably why it didn't work for you.

View solution in original post

THanks. This does work. I don't understand though why the SubmitForm() in OnSelect behaves differently than other fields in the form. For example, I have a field hidden when the EditForm is in NewMode via:

If(EditForm1.Mode=FormMode.Edit,Parent.DisplayName,"")

So it is tracking it. I guess the SubmitForm() is putting the form in a different state, or clearing the state?

 

Anyway, good tip. And I learned the Set() function to boot!

 

 

giphy.gif

 

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 (1,266)