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

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
Highlighted
Resident Rockstar
Resident Rockstar

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
Highlighted
Continued Contributor
Continued Contributor

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!

Highlighted
Resident Rockstar
Resident Rockstar

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?

Highlighted
Continued Contributor
Continued Contributor

Re: Label Position - Y Axis

 
Highlighted
Resident Rockstar
Resident Rockstar

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?

Highlighted
Continued Contributor
Continued Contributor

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.  

 

Highlighted
Resident Rockstar
Resident Rockstar

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?

Highlighted
Resident Rockstar
Resident Rockstar

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

Highlighted
Resident Rockstar
Resident Rockstar

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.

Highlighted
Continued Contributor
Continued Contributor

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
secondImage

Demo-Extravaganza 2020

Check out these cool Power Apps & vote on your favorite!

secondImage

Robotic Process Automation

Let's talk about the solution provided by Microsoft for Robotic Process Automation (RPA)

secondImage

Community Highlights

Check out whats happening in Power Apps

secondImage

Community User Group Member Badges

FIll out a quick form to claim your community user group member badge today!

Top Solution Authors
Top Kudoed Authors
Users online (10,967)