cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Brice235i Skilled Sharer
Skilled Sharer

Integrate canvas app with associated SharePoint Online list

Hi, I've managed to do this for the new action, using this post.using this post https://powerusers.microsoft.com/t5/Creating-Apps/Associate-PowerApp-to-List-so-that-the-app-opens-w...

 

Now trying to figure out how to open the details screen should an item be opened from the SharePoint list and the edit screen should the item be edited from SharePoint. 

 

Anyone know how to do this?  Ideally the app would be opened in the full screen area, not the right hand panel.  Just like the original InfoPath customisation functionality.

Thanks.

 

 

7 REPLIES 7
Community Support
Community Support

Re: Integrate canvas app with associated SharePoint Online list

Hi @Brice235i ,

Could you please share a bit more about your scenario?

Do you want to open a Detail form or a Edit form of a standalone canvas app within your custom form (created via PowerApps)?

 

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

Within your custom form app, set the OnView property of the SharePointIntegration control to following:

Launch("https://web.powerapps.com/apps/76897698-xxxx-b2de-xxxx-xxxx74f114f2", TargetScreen, "DetailScreen", ItemID, SharePointIntegration.Selected.ID)

Note: The TargetScreen and ItemID represents the parameters you need to pass to your standalone canvas app. The "DetailScreen" and SharePointIntegration.Selected.ID represent the correspoding parameter value. The '76897698-xxxx-b2de-xxxx-xxxx74f114f2' represents the App Id of your standalone canvas app.

Set the OnEdit property of the SharePointIntegration control to following:

Launch("https://web.powerapps.com/apps/76897698-xxxx-b2de-xxxx-xxxx74f114f2", TargetScreen, "EditScreen", ItemID, SharePointIntegration.Selected.ID)

 

Then within your standalone canvas app, set the OnStart property of the App control to following:

Set(TargetScreen, Param("TargetScreen"));
Set(ItemID, Param("ItemID"));
If(
TargetScreen = "DetailScreen",
Navigate(DetailScreen, ScreenTransition.None),
TargetScreen = "EditScreen",
Navigate(EditScreen, ScreenTransition.None)
)

Within your Display screen, set the Item property of the Display form to following:

If(
   !IsBlank(ItemID),
   LookUp('YourSPList', ID = ItemID),
   BrowserGallery1.Selected
)

Within your Edit screen, set the Item property of the Edit form to following:

If(
   !IsBlank(ItemID),
   LookUp('YourSPList', ID = ItemID),
   BrowserGallery1.Selected
)

More details about navigating to specific form based on the parameters specified within the App URL, please check my response within the following thread:

https://powerusers.microsoft.com/t5/General-Discussion/PowerApps-Navigate-to-Screen-based-on-params-...

 

More details about Launch function, please check the following article:

Launch function

 

Best regards,

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.
Brice235i Skilled Sharer
Skilled Sharer

Re: Integrate canvas app with associated SharePoint Online list

Hi @v-xida-msft, details on the scenario.

 

I have created a standalone canvas app (there is no SharePoint Integration contol).  The reason as to why I didn't build from the 'Customise Form' method on the SharePoint list is so the app it is available to use on mobile device via PowerApp app, and so I can re-use the canvas app to interact with different SharePoint lists. 

Integration with the SharePoint list is still required though.  Therefore, when the user goes to the SharePoint list that collects the data for the canvas app I want the app to load instead of the SharePoint form...   i.e. The user clicks New item and the canvas app Edit screen opens so the user can fill in the form.  If they click an item's title in the SharePoint list the read only Details screen for the specific item opens.  If they select click to edit an item in the SharePoint list the Edit screen opens for the specific item.  

Community Support
Community Support

Re: Integrate canvas app with associated SharePoint Online list

Hi @Brice235i ,

Based on the needs that you mentioned, I think the solution I provided could achieve your needs.

 

If you want to open the Detail Screen or Edit screen of your standalone canvas app when you click the "New" or "Edit" button within your SP list without creating a custom form for your SP list, I afraid that there is no way to achieve your needs currently.

 

Currently, as an alternative solution, you need to create a custom form for your SP list firstly, then from your custom form to launch your standalone app. 

Within your custom form app, set the OnView property of the SharePointIntegration control to following:

Launch("https://web.powerapps.com/apps/76897698-xxxx-b2de-xxxx-xxxx74f114f2", TargetScreen, "DetailScreen", ItemID, SharePointIntegration.Selected.ID)

Note: The TargetScreen and ItemID represents the parameters you need to pass to your standalone canvas app. The "DetailScreen" and SharePointIntegration.Selected.ID represent the correspoding parameter value. The '76897698-xxxx-b2de-xxxx-xxxx74f114f2' represents the App Id of your standalone canvas app.

Set the OnEdit property of the SharePointIntegration control to following:

Launch("https://web.powerapps.com/apps/76897698-xxxx-b2de-xxxx-xxxx74f114f2", TargetScreen, "EditScreen", ItemID, SharePointIntegration.Selecte

 

Then within your standalone canvas app, set the OnStart property of the App control to following:

Set(TargetScreen, Param("TargetScreen"));
Set(ItemID, Param("ItemID"));
If(
TargetScreen = "DetailScreen",
Navigate(DetailScreen, ScreenTransition.None),
TargetScreen = "EditScreen",
Navigate(EditScreen, ScreenTransition.None)
)

Within your Display screen, set the Item property of the Display form to following:

If(
   !IsBlank(ItemID),
   LookUp('YourSPList', ID = ItemID),
   BrowserGallery1.Selected
)

Within your Edit screen, set the Item property of the Edit form to following:

If(
   !IsBlank(ItemID),
   LookUp('YourSPList', ID = ItemID),
   BrowserGallery1.Selected
)

More details about navigating to specific form based on the parameters specified within the App URL, please check my response within the following thread:

https://powerusers.microsoft.com/t5/General-Discussion/PowerApps-Navigate-to-Screen-based-on-params-...

 

Please take a try with above solution I provided step by step, then check if the issue is solved.

 

Best regards,

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.
Brice235i Skilled Sharer
Skilled Sharer

Re: Integrate canvas app with associated SharePoint Online list

Thank you, I get error for all elements of these formulas. 

Launch("https://web.powerapps.com/apps/a70bcd70-10a2-4b0d-8017-3f39cf39a4df", TargetScreen, "DetailScreen", ItemID, SharePointIntegration.Selected.ID)

 

Name isn't valid. This identifier isn't recognized.   This error appears most commonly when a formula refers to something that no longer exists (for example, a control that you've deleted).

 

 

 

Community Support
Community Support

Re: Integrate canvas app with associated SharePoint Online list

Hi @Brice235i ,

Could you please share more details about the error message with your formula?

 

Please check if you have typed the above Launch(...) formula within the OnView property of the SharePointIntegration control in the custom form of your SP list rather than your standalone canvas app.

 

I have made a test on my side, and don't have the issue that you mentioned. The Launch(...) formula works well within the custom form of my SP list.

 

If the issue still exists, please consider take a try to remove the custom form from your SP list, then re-create a new one for it, take a try with above Launch(...) formula again, check if the issue is solved.

 

Best regards,

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.
TopShelf-MSFT Community Champion
Community Champion

Re: Integrate canvas app with associated SharePoint Online list

Thanks for posting in the community @Brice235i - can you review the above reply and update the thread when you have a chance?

 

@TopShelf-MSFT 

Brice235i Skilled Sharer
Skilled Sharer

Re: Integrate canvas app with associated SharePoint Online list

Sorry, haven't had a chance to test again.   Too busy.   Will try again soon.

Helpful resources

Announcements
firstImage

New Ranks and Rank Icons released on April 21!

The time has come: We are finally able to share more details on the brand-new ranks coming to the Power Apps Community!

Power Platform 2020 release wave 1 plan

Power Platform 2020 release wave 1 plan

Features releasing from April 2020 through September 2020

Top Solution Authors
Top Kudoed Authors
Users online (9,851)