cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
tianaranjo
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
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 (37,967)