cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Dhiran
Helper III
Helper III

Setting up a variable onVisible

I have created a simple form from a SharePoint list which contains 4 text fields (Field 1,2,3 and Status) 

 

In the form I have 3 buttons outside the SharePoint Form, Employee, Line Manager and Escalation. When you press any of the button it will show the relevant field (Employee = Field 1, Line manager = Field 2 and so on) by setting a variable to the value of the button. The fields have the visible property set to the variable to show the right field. 

 

After each stage I am updating the Status to show its moved to the next stage. 

 

What I would like to do is when a user opens the form, depending on what stage (Status) its at, I would like to show the appropriate  field set but how do I access the Status value for the record with onVisible?

5 REPLIES 5
Eelman
Community Champion
Community Champion

@Dhiran 

You could try a Switch statement 

 

OnVisible = Switch(Status.Value,

                   "Employee", Set(Field1_variable, true),

                   "Line Manager, Set(Field2_variable,true)

                  ... and so on

)

 

I need a little more detail to give an exact answer but this code gives you the basic structure.

Hi @Eelman 

Thanks for the suggestion. I tried that on a very simple form and the screen does not even update when I click on a existing record. 

 

Screenshot.png

OnVisible.png

Eelman
Community Champion
Community Champion

@Dhiran 

Can you please share your code. How are you setting your show/hide variables? My suggest was very generic so you would need to adjust to suit your situation. Without any code reference I cannot support you further.

Hi @Eelman 

 

I subsequently found that if I use SharePoint Integrated function, I can get the value of any column in the current record. 

 

So my onVisible property is set to 

If(IsMatch(SharePointIntegration.Selected.'Accident Report Status',"LineManager"),Set(varFormTab,"Line Manager"),If(IsMatch(SharePointIntegration.Selected.'Accident Report Status',"HSC"),Set(varFormTab,"HSC Evaluation"),Set(varFormTab,"Employee"))) 

 

but it the next problem is that if evaluates the if statement before it loads the form and therefore every single time its set to "Employee"

Eelman
Community Champion
Community Champion

@Dhiran 

Try removing the second If() statement. In PowerApps, the If Statement looks like this

 

If( Condition1, ThenResult1, [Condition2, ThenResult2] ... [, DefaultResult)

 

So you chain conditions with the required result you want

Helpful resources

Announcements
Ignite 2022

WHAT’S NEXT AT MICROSOFT IGNITE 2022

Explore the latest innovations, learn from product experts and partners, level up your skillset, and create connections from around the world.

Power Apps Africa Challenge 2022

Power Apps Africa Challenge

Your chance to join an engaging competition of Power Platform enthusiasts.

Super User 2 - 2022 Congratulations

Welcome Super Users

The Super User program for 2022 - Season 2 has kicked off!

September Events 2022

Check out all of these events

Attend in person or online, there are incredible conferences and events happening all throughout the month of September.

Users online (2,635)