cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
IanN
Helper I
Helper I

Dynamic screen reference in Navigation possible?

Hello,

 

I have a table setup with a TableRef column which contains the name of the Screen I want to navigate. I want to click an icon in my gallery and dynamically go to whichever screen that gallery entry refers to

 

The way im thinking something like this should work:

 

OtherTablesGallery.OnSelect = Navigate(OtherTablesGallery.Selected.TableRef,ScreenTransition.None)

 

But it doesn't work, I see a solution here: 

 

https://powerusers.microsoft.com/t5/PowerApps-Forum/Navigate-to-screen-selecting-element-from-the-li...

 

But I don't understand completely what it is doing and if its suitable.

1 ACCEPTED SOLUTION

Accepted Solutions
irinak
Power Apps
Power Apps

Hi IanN,

 

The trick here is that you need to pass the screen as an object instead of just using the name. The post you found shows an example on how to do that.

  

1) Create a collection that has a mapping from screen name to screen object. For example:

 

ClearCollect(Screens, { Name: "Screen1", Target: Screen1 }, { Name: "Screen2", Target: Screen2 }, { Name: "Screen3", Target: Screen3 })

 

You can set the above when the first screen loads, i.e. Screen1.onSelect

 

2) Set your onSelect action to:

 

Navigate(Lookup(Screens, Name = OtherTablesGallery.Selected.TableRef, Target), None)

 

Hope this works for you!

 

Irina

View solution in original post

5 REPLIES 5
irinak
Power Apps
Power Apps

Hi IanN,

 

The trick here is that you need to pass the screen as an object instead of just using the name. The post you found shows an example on how to do that.

  

1) Create a collection that has a mapping from screen name to screen object. For example:

 

ClearCollect(Screens, { Name: "Screen1", Target: Screen1 }, { Name: "Screen2", Target: Screen2 }, { Name: "Screen3", Target: Screen3 })

 

You can set the above when the first screen loads, i.e. Screen1.onSelect

 

2) Set your onSelect action to:

 

Navigate(Lookup(Screens, Name = OtherTablesGallery.Selected.TableRef, Target), None)

 

Hope this works for you!

 

Irina

View solution in original post

That works brilliantly, thank you for the extra explanation.

 

Perhaps a function could be added to turn a text value into a screen object e.g.

 

Object("ScreenName")

Anonymous
Not applicable

Where do I enter this function: 

ClearCollect(Screens, { Name: "Screen1", Target: Screen1 }, { Name: "Screen2", Target: Screen2 }, { Name: "Screen3", Target: Screen3 })

 

 

sk9972252270
Advocate I
Advocate I

Guys, I am new to PowerApps, I am using multiple screens (BroswerGallery) for Data view based on filters of same data source. Since the data format is same for all, I don't want multiple View, Add & Edit pages. Since upon each action it looks for a data source, I am finding difficult to use a single view, add & edit page. 

 

Need your help and step by step guidance.

 

Dharanya
Frequent Visitor

Hi,

 

I have used the same exact formula as below. But nothing happens and the screen stand still.

Formula in the On strat: ClearCollect(Screens,{Name:"Regular Pay",Target:RegularPay_Screen},{Name:"Payment Extension",Target:PaymentExtension_Screen})

Formula on the button:Navigate(LookUp(Screens,Name=drp_DOARequiredFor.Selected.Value,Target),ScreenTransition.None)

drp_DOARequiredFor is a drop down field and has the values, "Regular Pay","Payment Extension".

 

Please help me understand why it is not navigating to the respective screen. Also please note that there is no error in the formula

 

Helpful resources

Announcements
PA User Group

Welcome to the User Group Public Preview

Check out new user group experience and if you are a leader please create your group

MBAS Attendee Badge

Claim Your Badge & Digital Swag!

Check out how to claim yours today!

secondImage

Are Your Ready?

Test your skills now with the Cloud Skill Challenge.

secondImage

Demo Extravaganza is Back!

We are excited to announce that Demo Extravaganza for 2021 has started!

MBAS on Demand

Microsoft Business Applications Summit sessions

On-demand access to all the great content presented by the product teams and community members! #MSBizAppsSummit #CommunityRocks

Top Solution Authors
Top Kudoed Authors
Users online (28,969)