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

Label Position - Y Axis

Greetings,

 

I would like to position labels using the following:

Y =

If(
"1" in colThisItem.ID && " Project ID #" in colThisItem.Result, lblPos1.Y + lblPos1.Height / 2 - lblSalesforce.Height /2,

"2" in colThisItem.ID && " Project ID #" in colThisItem.Result, lblPos2.Y + lblPos2.Height / 2 - lblSalesforce.Height /2

)

 

This does as intended if I only have one statement, for example if Project ID is the 2nd item in my collection and I ONLY have this:

If(

"2" in colThisItem.ID && " Project ID #" in colThisItem.Result, lblPos2.Y + lblPos2.Height / 2 - lblSalesforce.Height /2

)

 

lblProjectID 'lands' in on the relative Y acces, or position2.  However, once I add the first formula,

 

If(
"1" in colThisItem.ID && " Project ID #" in colThisItem.Result, lblPos1.Y + lblPos1.Height / 2 - lblSalesforce.Height /2,

"2" in colThisItem.ID && " Project ID #" in colThisItem.Result, lblPos2.Y + lblPos2.Height / 2 - lblSalesforce.Height /2

)

 

then the label is placed in Position1.

 

Any suggestions?  Thanks; in advance!

@dinusc (Hoping you'll be intrigued by this ? also)

1 ACCEPTED SOLUTION

Accepted Solutions
KroonOfficeSol
Level 10

Re: Label Position - Y Axis

Oke, what I think tianaranjo is tryïng to achieve is to make some groups (with label, textinput and other field) visible property reliable on the seleteditems off the combobox and get a solution like this

Sol1.PNGSol2.PNG

 

This we can achieve by creating a sequence off relativ positioning off the controls. 

 

First the collection is not needed, you can set the visibility off the group labels by a simpel formula on the visible parameter ike:

Group1.Text in ComboBox1.SelectedItems.Value1

In this case I presume the text off the control is the same as in the combobox list. This line will check the value to exist in the selecteditems off the control and if so makes the control visible.

 

Then you want to make the group labels Y position relativ to the other visible group label. The formula to do this for the fourth group label will be like:

omboBox1.Y + ComboBox1.Height +
If(Group1.Visible, Group1.Height) +
If(Group2.Visible, Group2.Height) + 
If(Group3.Visible, Group3.Height)

For the third you take the last line off and for a fifth you add a extra line and so on.

 

Then for the Label/Gallery/Table or whatever other control you do basically the same logic. Formula would be like:

ComboBox1.Y + ComboBox1.Height +
If(Group1.Visible, Group1.Height) +
If(Group2.Visible, Group2.Height) +
If(Group3.Visible, Group3.Height) +
If(Group4.Visible, Group4.Height)

So no need to collect the combobox to a collection or use complicated formula, just simple logic.

 

By the way, you can do the same with the X property.

 

Made a videoseries on youtube on re-using screens in PowerApps. In this video I explain in great detail how to use this logic. Including the use off global and local variables, passing local variables from screen-to-screen and resetting this variables to default on the OnHidden property off the screen to get a smooter user experiance. Follow this link to watch PowerApps- Re-Use Screens

 

Interessed if this is what you were looking for as a solutions @tianaranjo

 

Greatings

 

Paul Kroon

View solution in original post

10 REPLIES 10
tianaranjo
Level 8

Re: Label Position - Y Axis

Hoping to raise this one again - I have tried Switch, Or, And without any luck. @mrdang - would you happen to have any ideas?

 

Thank you!

KroonOfficeSol
Level 10

Re: Label Position - Y Axis

 He tianaranjo,

 

From your explanation I can't determine were you're problem lies, it's just to vague. First try to put the code you want to share in a code block and format it, for people to read it more easily. Like:

If("1" in colThisItem.ID && " Project ID #" in colThisItem.Result, 
	lblPos1.Y + (lblPos1.Height/2) - (lblSalesforce.Height/2),
	
	"2" in colThisItem.ID && " Project ID #" in colThisItem.Result, 
	lblPos2.Y + (lblPos2.Height/2) - (lblSalesforce.Height/2)
)

Now I see that the " Project ID #" is the same in both lines, is this also in reality? If so this line does nothing, because it's true in both cases and you can leave it off. It could be that this part is false in both lines, which would result in the Y position is not set and this could be the problem you're experiencing. So you should then add a extra line with a default Y position, which is the default when theres no match.

 

Second I notice that you want a condition met on a text in a ID, but isn't the ID an Integer in your case? In that case you should check for a full match like:

 

ColThisItem.ID = 1

Maybe you should add two labels (temporary for testing), break up your condition and add the two parts to a label. Then you will probably see that the first (and second) condition off the first line will be true in all cases, simple because the formula is not correct.  

 

When you not succeed maybe you can post a screenshot off your app so we can see how it should look, one for when first condition is met and one for second condition is met.

 

Btw I presuming that this is a gallery you're using and that the label you want to position is part off the datacard?

tianaranjo
Level 8

Re: Label Position - Y Axis

 
KroonOfficeSol
Level 10

Re: Label Position - Y Axis

Hard to understand this explanation. Question, are you tryïng to manipulate the columns showed in the Gallery? by a the combobox?

tianaranjo
Level 8

Re: Label Position - Y Axis

I sent an email with images hoping it would help clear up.  I am not using a gallery at all, everything is being placed on a screen , again, no gallery. 

 

When I tried using a gallery I was able to acheiv the positioning I wanted, as intended, but that caused other issues so I decided to eliminate the gallery all together.  

 

KroonOfficeSol
Level 10

Re: Label Position - Y Axis

So you then have a label for every selected, correct? And just want to show the labels selected.

 

What were the issues with the Gallery you experienced?

KroonOfficeSol
Level 10

Re: Label Position - Y Axis

Oke, what I think tianaranjo is tryïng to achieve is to make some groups (with label, textinput and other field) visible property reliable on the seleteditems off the combobox and get a solution like this

Sol1.PNGSol2.PNG

 

This we can achieve by creating a sequence off relativ positioning off the controls. 

 

First the collection is not needed, you can set the visibility off the group labels by a simpel formula on the visible parameter ike:

Group1.Text in ComboBox1.SelectedItems.Value1

In this case I presume the text off the control is the same as in the combobox list. This line will check the value to exist in the selecteditems off the control and if so makes the control visible.

 

Then you want to make the group labels Y position relativ to the other visible group label. The formula to do this for the fourth group label will be like:

omboBox1.Y + ComboBox1.Height +
If(Group1.Visible, Group1.Height) +
If(Group2.Visible, Group2.Height) + 
If(Group3.Visible, Group3.Height)

For the third you take the last line off and for a fifth you add a extra line and so on.

 

Then for the Label/Gallery/Table or whatever other control you do basically the same logic. Formula would be like:

ComboBox1.Y + ComboBox1.Height +
If(Group1.Visible, Group1.Height) +
If(Group2.Visible, Group2.Height) +
If(Group3.Visible, Group3.Height) +
If(Group4.Visible, Group4.Height)

So no need to collect the combobox to a collection or use complicated formula, just simple logic.

 

By the way, you can do the same with the X property.

 

Made a videoseries on youtube on re-using screens in PowerApps. In this video I explain in great detail how to use this logic. Including the use off global and local variables, passing local variables from screen-to-screen and resetting this variables to default on the OnHidden property off the screen to get a smooter user experiance. Follow this link to watch PowerApps- Re-Use Screens

 

Interessed if this is what you were looking for as a solutions @tianaranjo

 

Greatings

 

Paul Kroon

View solution in original post

KroonOfficeSol
Level 10

Re: Label Position - Y Axis

Small adition. I could be helpfull to see the columns you can use from the combobox. You can simple do the next formula to store all the selecteditems in a collection:

ClearCollect(MyCollection, ComboBox1.SelectedItems)

Put this on the OnSelect Property off the combobox.

tianaranjo
Level 8

Re: Label Position - Y Axis

@KroonOfficeSol - Works like a charm!  Thank you for all the time and effort you put with helping on this one.

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 (4,631)