cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
SaWu
Level 8

Formula for Visible not evaluated properly. Is there a limit on reference depth?

Hello

Please be so kind as to read my full post before responding.
Thank you for your consideration.

In one PowerApp I have a set/group of 20 Checkbox controls that I use in several data cards, i.e. same controls for different fields of the same type, more specifically 12 multiselect fields kk_multiselect_aa through kk_multiselect_al.
To avoid manually changing all 20 controls, I have added an additional invisible control.
I set the properties that relate to different fields in that one invisible control.
And the real 20 controls reference that invisble dummy control.

More specifially, for field kk_multiselect_ah the dummy control property InputFieldsEditMultiSelectAH.Size is set to a variable

numkk_multiselect_ah

that gets computed in App.OnStart.
The checkboxes have Visible set to

InputFieldsEditMultiSelectAH.Size > 0

through

InputFieldsEditMultiSelectAH.Size > 19

that is, depending on the computation in App.OnStart, 0-20 checkboxes for field kk_multiselect_ah should be shown.

In a recent PowerApps release I have encountered the strange bug, that the checkboxes for fields .. kk_multiselect_ag, kk_multiselect_ai, ... are visible, but the checkboxes for kk_multiselect_ah stay invisible when running the App via Play or in the PowerApps App, while everything is properly visible in PowerApps Studio.
In PowerApps Studio the 11 Checkboxes are visible.
image.png
The screenshot shows the checkboxes for kk_multiselect_ah and kk_multiselect_ai and a label I've added for debugging purposes.
Playing the PowerApp in the Browser or in the PowerApps App (tested on both Android and iOS), the checkboxes for kk_multiselect_ah are invisible.
image.png
But strangely, this only appears to be the case for one field kk_multiselect_ah, while the (copied group) controls for the other fields seem to work fine.
Putting the code from Visible/Size into the Text of a Label for visualization

"ah 1 visible " & CheckBox01FieldsEditMultiSelectAH.Visible & "," & (InputFieldsEditMultiSelectAH.Size > 0) & ""

where CheckBox01FieldsEditMultiSelectAH.Visible is
image.png
this yields true, true in PowerApps Studio
image.png
but false, true when running the PowerApp via Play or in the mobile App.
image.png

I already have a simple workaround.
Reducing one reference level and setting CheckBox01FieldsEditMultiSelectAH.Visible directly to

numkk_multiselect_ah > 0

etc yields the desired correct result not only in Studio but also when playing the App in browser or PowerApps App on mobile.
image.png

My actual questions

  1. What is happening here?
    Why is my PowerApp only properly working and evaluating the Visible property in Studio?
    I have no idea at all, why this affect only 1/12 fields.
  2. Is using properties of controls as "temporary variables" reliable at all, i.e. if I reference B.B in property A.A, while B.B references C.C, can I expect A.A to correctly incorporate C.C?
    Or do I actually have to expect strange errors like this one?

Thank you,
    Sa.

Last tested:
App ID: 0733754f-0a23-490e-9d43-45635fedf049
App PowerApps Release: 3.19091.18

Session ID: 35846a34-c4b2-4f71-af88-7fd6ba5a8b75
PowerApps 3.19091.18

3 REPLIES 3
Community Support Team
Community Support Team

Re: Formula for Visible not evaluated properly. Is there a limit on reference depth?

Hi @SaWu ,

Did you set the variable on App.OnStart property?

If so, that's the main reason why your app works in play mode, while not in edit mode.

The  App.OnStart action will only act when you run the app.

When your all is in edit mode, the formula in this property will not act.

I suggest you not set variable in App.OnStart property to avoid different result in different mode.

Try to set variable in one button's OnSelect.

Here are two docs about this for your reference:

https://powerusers.microsoft.com/t5/Creating-Apps/onstart-property-not-available/td-p/130660

https://community.dynamics.com/365/b/sachinbansalmicrosoft/posts/powerapp-canvas-onstart-event-does-...

 

What's more, did you give me the complete formula?

The formula in Visible will not get a boolen result.

You should use formula like this:

If(InputFieldsEditMultiSelectAH.Size > 0, true, false)

 

 

 

Best regards,

Community Support Team _ Phoebe Liu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
SaWu
Level 8

Re: Formula for Visible not evaluated properly. Is there a limit on reference depth?

Hi @v-yutliu-msft 

Yes I have an App.OnStart property, as mentioned in my Text.


@v-yutliu-msft wrote:

If so, that's the main reason why your app works in play mode, while not in edit mode.

The  App.OnStart action will only act when you run the app.

When your all is in edit mode, the formula in this property will not act.

I suggest you not set variable in App.OnStart property to avoid different result in different mode.

Try to set variable in one button's OnSelect.

Here are two docs about this for your reference:

https://powerusers.microsoft.com/t5/Creating-Apps/onstart-property-not-available/td-p/130660

https://community.dynamics.com/365/b/sachinbansalmicrosoft/posts/powerapp-canvas-onstart-event-does-...


You are wrong about OnStart!
You can easily run OnStart in the Editor!
image.png


@v-yutliu-msft wrote:

What's more, did you give me the complete formula?


Yes, I did not give you code for computation of numkk_multiselect_aa because it is irrelevant.
You can use

Set(numkk_multiselect_aa, 11)

to get the result from my PowerApp.


@v-yutliu-msft wrote:

The formula in Visible will not get a boolen result.

You should use formula like this:

If(InputFieldsEditMultiSelectAH.Size > 0, true, false)

You are also wrong about my expression not giving me a boolean.
The If statement you are proposing is redundant!
image.pngimage.pngimage.pngimage.png
Data type info are courtesy of PowerApps very own formula bar result view
image.png

Have you thought about my actual question?!
If property A.A uses B.B, and B.B uses C.C, is a change of C.C guaranteed to propagate to A.A (in time)?
If you don't know this, or can't point to a documentation answering my question, might you kindly inquire someone from the actual PowerApps (backend) team?

Thank you,
    Sa Wu.

SaWu
Level 8

Re: Formula for Visible not evaluated properly. Is there a limit on reference depth?

Hi @v-yutliu-msft,

Please also refer to this PowerApps blog post from February (!) 2019 highlighting the possibility run App.OnStart from the Tree View of the PowerApps Editor.
https://powerapps.microsoft.com/en-us/blog/tree-view-has-an-app-item-to-make-app-building-easier/

Thank you,
    Sa Wu.

Helpful resources

Announcements
thirdimage

Power Automate Community User Group Member Badge

Fill out a quick form to claim your user group badge now!

sixthImage

Power Platform World Tour

Find out where you can attend!

Power Platform 2019 release wave 2 plan

Power Platform 2019 release wave 2 plan

Features releasing from October 2019 through March 2020

fifthimage

Microsoft Learn

Learn how to build the business apps that you need.

Top Kudoed Authors (Last 30 Days)
Users online (3,959)