cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Continued Contributor
Continued Contributor

DisplayMode based on user

Greetings, 

 

I have a feedback form and I would like the Status card display as with edit option for managers or as view only if not a manager.  I have added a list from SharePoint with the manager names in a screen that will not be visible to the user.  Can you please advise on the function for the Status DisplayMode?

Thank you.

1 ACCEPTED SOLUTION

Accepted Solutions


@Anonymous wrote:

To check whether the current user is in that list of manager names, you can use the in operator.

Reference: https://docs.microsoft.com/en-us/powerapps/functions/operators#in-and-exactin-operators

 

So, you can do something like this:

If( User().FullName in ManagerNames,
    DisplayMode.Edit,
    DisplayMode.View
)

Although, I don't suggest using DisplayMode.View. Using DisplayMode.Disabled is easier since you can customize formatting easier that way. 


 

For performance reasons you may want to set the User() to a variable to decrease the number of calls to that function. I know there are other posts out there explaining all the reasons why but by doing this it speeds up the app considerably.

 

For example on page Visible on your Home screen run:

Set(CurrentUser, User())

Then anytime you ever need to find the user just simply do a CurrentUser.FullName etc. That way you are only calling the User() function once.

 

Otherwise @Anonymous has the right idea, you can display, hide, disable just about anything based on username using the code he supplied.

View solution in original post

2 REPLIES 2
Anonymous
Not applicable

To check whether the current user is in that list of manager names, you can use the in operator.

Reference: https://docs.microsoft.com/en-us/powerapps/functions/operators#in-and-exactin-operators

 

So, you can do something like this:

If( User().FullName in ManagerNames,
    DisplayMode.Edit,
    DisplayMode.View
)

Although, I don't suggest using DisplayMode.View. Using DisplayMode.Disabled is easier since you can customize formatting easier that way. 


@Anonymous wrote:

To check whether the current user is in that list of manager names, you can use the in operator.

Reference: https://docs.microsoft.com/en-us/powerapps/functions/operators#in-and-exactin-operators

 

So, you can do something like this:

If( User().FullName in ManagerNames,
    DisplayMode.Edit,
    DisplayMode.View
)

Although, I don't suggest using DisplayMode.View. Using DisplayMode.Disabled is easier since you can customize formatting easier that way. 


 

For performance reasons you may want to set the User() to a variable to decrease the number of calls to that function. I know there are other posts out there explaining all the reasons why but by doing this it speeds up the app considerably.

 

For example on page Visible on your Home screen run:

Set(CurrentUser, User())

Then anytime you ever need to find the user just simply do a CurrentUser.FullName etc. That way you are only calling the User() function once.

 

Otherwise @Anonymous has the right idea, you can display, hide, disable just about anything based on username using the code he supplied.

View solution in original post

Helpful resources

Announcements
News & Announcements

Community Blog

Stay up tp date on the latest blogs and activities in the community News & Announcements.

Power Apps Community Call

Power Apps Community Call- January

Mark your calendars and join us for the next Power Apps Community Call on January 20th, 8a PST

PP Bootcamp Carousel

Global Power Platform Bootcamp

Dive into the Power Platform stack with hands-on sessions and labs, virtually delivered to you by experts and community leaders.

secondImage

Power Platform Community Conference On Demand

Watch Nick Doelman's session from the 2020 Power Platform Community Conference on demand!

Top Solution Authors
Top Kudoed Authors
Users online (6,619)