cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
gavinleung
Resolver I
Resolver I

EditForm dynamic items

Hi all, 

 

I'm having the following:

Screen 1 : a Gallery 1 connecting to a Sharepoint List to show the records of today. 

Screen 2: a Gallery 2 connecting to a Sharepoint List to show the records by the date picker

Screen 3: a screen showing the details of the item selected in Screen 1 or Screen 2, and allow the user to edit. I used a EditForm. 

 

But problem comes, the Item of the EditForm can only be either Gallery 1 or Gallery 2. So when I navigate from Screen 2 to 3, a wrong record is shown. 

 

Anyone can show me how it could be done ? (Of cause I know I can create Screen 4, which is having the same content as Screen 3, but pointing to Gallery 2. But I think PowerApps should be more powerful than this...)


Thanks,

Gavin

 

1 ACCEPTED SOLUTION

Accepted Solutions
v-xida-msft
Community Support
Community Support

Hi @gavinleung ,

Are the Gallery1 and Gallery2 connected to same SP List data source?

Do you want to display the detail info within the Edit form based on the Gallery1 or Gallery2?

 

I assume that the Gallery1 and Gallery2 connects to same SP List data source, I have made a test on my side, please take a try with the following workaround:

Set the OnSelect property of the Gallery1 to following:

Set(CurrentRecord, ThisItem);
Navigate(DetailScreen1_1, ScreenTransition.None)

Set the OnSelect property of the Gallery2 to following:

Set(CurrentRecord, ThisItem);
Navigate(DetailScreen1_1, ScreenTransition.None)

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

CurrentRecord

Note: The DataSource property of the Edit form is also set to the same SP List data source.

 

If the Gallery1 and Gallery2 are connected to different SP list data source, and you want to display the Gallery1 selected item and Gallery2 selected item within single one Edit form, I afraid that there is no way to achieve your needs in PowerApps currently.

As an alternative solution, please consider create individual Edit form (EditForm1 & EditForm2) for Gallery1 and Gallery2 within your app. 

Set the OnSelect property of the Gallery1 to following:

Set(CurrentRecord, ThisItem);
Navigate(DetailScreen1_1, ScreenTransition.None)

Set the OnSelect property of the Gallery2 to following:

Set(CurrentRecord, ThisItem);
Navigate(DetailScreen1_2, ScreenTransition.None)

Within the DetailScreen1_1, set the Item property of the Edit form1 to following:

CurrentRecord

Within the DetailScreen1_2, set the Item property of the Edit form2 to following:

CurrentRecord

Please take a try with above solution, 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.

View solution in original post

10 REPLIES 10
panand99
Solution Supplier
Solution Supplier

Hi @gavinleung 

 

You can pass multiple galleries items on navigate function. You just need to play with some hide/whens formulas.

 

to acheive this, you need to update the navigate formula of your gallery item

OnScreen1

onSelect- Navigate(Screen3,ScreenTransition.Fade,{galFromScreen1:ThisItem,selected:"Screen1"})

On Screen2:

onSelect- Navigate(Screen3,ScreenTransition.Fade,{galFromScreen2:ThisItem,selected:"Screen2"})

 

And on Screen3, you can change the items property to :-

If(selected="Screen1",galFromScreen1,galFromScreen2)

 

If it is okay with you then please mark it as a solution.

 

I used this method. But looks like it is not working on Form's Items. It has error before running. 

Please share the error screen

On Screen 1, I used this and it showed the error. 

On Screen 1.png

 

Did I miss anything ? Thanks!

Anonymous
Not applicable

Hi @gavinleung .

 

Screen1

OnSelect- Navigate(Screen3,ScreenTransition.Fade,{screen1Data:ThisItem,selected:"Screen1"})

Screen2

onSelect- Navigate(Screen3,ScreenTransition.Fade,{screen2Data:ThisItem,selected:"Screen2"})

 

as if we navigate to Screen3

Follow this steps:

 

1. insert dataTable 

2. add the datasources of the SP list of the as the gallery dataSource.

3.and then you can see now the data on the datatable

4. go to the items property of the datatable and use the function Search('Your DataSource',the data from the Screen1 or Screen2, put the column name of the datasource where the data specifically searching)
5. And then insert a editForm and put the dataSource same as the datatable

5. and then select your edit form and go to the property item and put the DatabaTable1.Selected

 

That's all. You just only be creative to the datatable put it at the back order hide it using a rectangle icon.

 

Just reply if you have a lot question.

 

hope you understand ^_^ 

 

Best Regards,

Boynogs123

Anonymous
Not applicable

HI @gavinleung 

 This is the first step.This is the first step.Insert a table and editform same datasourceInsert a table and editform same datasourceand this is the output after  clicked the gallery itemand this is the output after clicked the gallery item

@gavinleung 

You need to change _fromScreen variable in screen2 gallery. That is why it is showing incompatible error.

I think you currently have same formula in both of the screen selection.

 

 

v-xida-msft
Community Support
Community Support

Hi @gavinleung ,

Are the Gallery1 and Gallery2 connected to same SP List data source?

Do you want to display the detail info within the Edit form based on the Gallery1 or Gallery2?

 

I assume that the Gallery1 and Gallery2 connects to same SP List data source, I have made a test on my side, please take a try with the following workaround:

Set the OnSelect property of the Gallery1 to following:

Set(CurrentRecord, ThisItem);
Navigate(DetailScreen1_1, ScreenTransition.None)

Set the OnSelect property of the Gallery2 to following:

Set(CurrentRecord, ThisItem);
Navigate(DetailScreen1_1, ScreenTransition.None)

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

CurrentRecord

Note: The DataSource property of the Edit form is also set to the same SP List data source.

 

If the Gallery1 and Gallery2 are connected to different SP list data source, and you want to display the Gallery1 selected item and Gallery2 selected item within single one Edit form, I afraid that there is no way to achieve your needs in PowerApps currently.

As an alternative solution, please consider create individual Edit form (EditForm1 & EditForm2) for Gallery1 and Gallery2 within your app. 

Set the OnSelect property of the Gallery1 to following:

Set(CurrentRecord, ThisItem);
Navigate(DetailScreen1_1, ScreenTransition.None)

Set the OnSelect property of the Gallery2 to following:

Set(CurrentRecord, ThisItem);
Navigate(DetailScreen1_2, ScreenTransition.None)

Within the DetailScreen1_1, set the Item property of the Edit form1 to following:

CurrentRecord

Within the DetailScreen1_2, set the Item property of the Edit form2 to following:

CurrentRecord

Please take a try with above solution, 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.

View solution in original post

Thanks @v-xida-msft a lot!

Your solution works! Now ... i need to verify all possible links related of the navigation. And now the variables messed up. I have to deal with this. 

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.

R2 (Green) 768 x 460px.png

Microsoft Dynamics 365 & Power Platform User Professionals

DynamicsCon is a FREE, 4 half-day virtual learning experience for 11,000+ Microsoft Business Application users and professionals.

Users online (869)