I'm customizing a SharePoint online OOTB form in a list to use power apps forms. I would like to navigate to different screens based on the status field value for that record. If I open the record in a list view and 'Status' field = Test, I want it to navigate to the Engineering screen. If 'Status' = Test2, I want it to navigate to the Assignments screen. I can't get this to work. I've tried two separate solutions from scouring the interwebs that have been unsuccessful.
TEST1:
(from Sharepointintegration.OnEdit or OnView)
Refresh('YourSPList');
EditForm(Default Form);
If(SharePointIntegration.Selected.Status.Value = "Test", Navigate(Engineering,ScreenTransition.Fade))
TEST2:
(from App.StartScreen)
If(DataCardValue63.Text = "Test", Engineering, Default)
Place the timer on the default form.
OnSave = SubmitForm('Default Form'); SubmitForm('Engineering Form'); [submit form for every form you have built]
OnEdit = SharePointIntegration
Ah gotcha, what screen did you put this on? And also what is your OnEdit, OnSave, etc?
Thanks!!!
This is the formula I used in the timer end property:
If(DataCardValue63.Text = "Pending Engineering", Navigate(Engineering,ScreenTransition.Fade));
If(DataCardValue63.Text = "Pending Disqualification", Navigate(Assignments,ScreenTransition.Fade));
Can you elaborate on "DataCardValue63.Text" and the Status in Sharepoint field name? Or provide the exact syntax? thanks man
I did get it working. I used "DataCardValue63.Text" which is the actual name of the control. 'Status' is the SharePoint field name.
Another step I learned the hard way:
To submit data from additional forms in your app you have to add them to OnSave of 'SharePointIntegration' like so:
SubmitForm('default'); SubmitForm('Form1'); SubmitForm('Form2'); etc
Hey Sean,
I am trying to do something very similar did you ever get this fixed?
The Status.Value string gives me an error > Invalid use of (.). Status is a text input and I'll get the same error if I use .Text
Hi @ShawnPelletier ,
Maybe you could add a timer control and set it's
Duration
1000
AutoStart
true
Repeat
true
OnTimerEnd
If(SharePointIntegration.Selected.Status.Value = "Test", Navigate(Engineering,ScreenTransition.Fade))
Visible
false
Best Regards,
Bof
Hi @ShawnPelletier ,
Maybe you could add a timer control and set it's
Duration
1000
AutoStart
true
Repeat
true
OnTimerEnd
If(SharePointIntegration.Selected.Status.Value = "Test", Navigate(Engineering,ScreenTransition.Fade))
Visible
false
Best Regards,
Bof