web
You’re offline. This is a read only version of the page.
close
Skip to main content

Notifications

Announcements

Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Apps / Change colour of item ...
Power Apps
Unanswered

Change colour of item if it appears in Collection and chosen by Dropdown box

(0) ShareShare
ReportReport
Posted on by 94

Hi, 

I have a crude map which is basically 5 rows of square blocks, 19 across. (Some of these blocks represent desks, each desk having it’s own email address)

 

I have a couple things I wish to do, the first I think is straight-forward but the second is confusing me…

 

1. -

 

I wish to make some of the blocks Fill colour change when they are within a Collection (which is a collection of email addresses).

 

I have managed to get the below code to work for each block using it on the Visible property…

 

If(CountRows(Filter(CollectionName,Email = “Email@EmailAddress”)) > 0,true,false)

 

But I’d like to change this so it works on Fill colour property rather than Visible.

 

 

2. -

 

I’d then like to have a dropdown box which shows you the maps of the different floors, each floor with a differing set of block colours. (i.e. on Floor 2 there might be 10 desks on that floor, but only 5 are a different colour, as they appear within the Collection)

 

 

My guessing would be that I need to create another list which has what floor the desks (or rather the email addresses) are on, and thus if a desk/email address appears in a Collection AND the Floor chosen by the Dropdown box it would change the blocks Fill colour.

 

 

Maybe I’m going about this the wrong way as I’m a bit stumped on hows best to approach this.

 

Hopefully this all makes sense! Any help or advice would be greatly appreciated.

 

Thanks,

Rob

Categories:
I have the same question (0)
  • KvB1 Profile Picture
    1,596 on at

    Hi, 

     

    For 1, the code you have would work if you change it slightly

    If(!IsBlank(LookUp(CollectionName,Email = “Email@EmailAddress”)) > 0,RGBA(0; 0; 0; 0),RGBA(0; 0; 0; 0))
    (You'd obviously have to change the colours to your preference.

     

    Your idea for 2. is solid, you add another column keeping track of the floor, and add an And to the colour formula for the correct floor

  • RobChilds Profile Picture
    94 on at

    Thanks for the reply but I can't seem to get that code to work on the Fill property or the Visible property though unfortunately.

     

    Cheers,

    Rob

  • KvB1 Profile Picture
    1,596 on at

    Oops I forgot to delete a bit from the original you made that i copy pasted

     

    If(!IsBlank(LookUp(CollectionName,Email = “Email@EmailAddress”)),RGBA(0; 0; 0; 0),RGBA(0; 0; 0; 0))

     

    It obviously wont work on the visible property, it needs a boolean variable as input. Fill needs a RGBA or a 'Red' or 'Green' or something thats preprogrammed in powerapps.

  • RobChilds Profile Picture
    94 on at

    Apologies if I'm missing something obvious here but I can't seem to get this code to work. 

     

    I've tried putting it into the Fill property of one of the blocks, should I be putting it somewhere else?

     

    Thanks,

    Rob

  • KvB1 Profile Picture
    1,596 on at

    What happens when you use it? Do you get an error message, or how is it not doing what you want?

  • RobChilds Profile Picture
    94 on at

    I'm putting the code on the Fill property of the block and getting a red line under the equals sign all the way until the end.

    I've double checked and the collection name email addresses are correct.

     

    Thanks

  • rubin_boer Profile Picture
    4,841 Super User 2024 Season 1 on at

    hi @RobChilds , @KvB1 is spot on but if you up to another approach please review the following.

     

    Add two columns to your collection: ne to determine the color ("_colour") and one to add the floor ("Floor") - you may wish to join another collection if the floors are already available. this is just to share a concept.

    I am creating 50 entries and slicing it into 5 rows. i then add two columns and add some logic to it.

    ClearCollect(
     colSomeData,
     AddColumns(
     ForAll(Sequence(50,1),{item: Value}), //your datasource goes here
     "_Colour", //lets get an indicator for colour 1 = white, 0 = limegreen
     If(item in colGrid,0,1),
     "Floor", //title of the column to keep your floors
     Switch( //logic for your floors (i filtered the value by 10 to get 5 floors)
     true,
     ThisRecord.item < 11,"Floor 1",
     And(ThisRecord.item >= 11,ThisRecord.item < 21),"Floor 2",
     And(ThisRecord.item >= 21,ThisRecord.item < 31),"Floor 3",
     And(ThisRecord.item >= 31,ThisRecord.item < 41),"Floor 4",
     "Floor 5"
     )
     )
    )

      

    Now that the collection is sorted, add a gallery and set the item to "yourCollection"I have wrapped the gallery to get the grid effect you have (just 10 instead on 19)

     

    I added another collection where i added a few numbers which represents the email collection

    ClearCollect(colGrid,1,2,3,4,19,27,43,49)

     in the above collection you can see if the number is found in this collection it sets the color indicator to either 0 or 1.

     

    In the gallery add a label which will hold the text which you wish to evaluate in your case email in my case a number which appears in colGrid. Set the fill property of the label to

    If(ThisItem._Colour = 0,LimeGreen, RGBA(0, 0, 0, 0))

     

    the result is (all the numbers in colGrid have  a green background)

    rubin_boer_0-1627056189074.png

     

    Now add a dropdown and set its item to your collection, distinctly to floor

    Distinct(colSomeData,Floor)

    the dropdown area cannot change background so i am adding another gallery to display the floor.

    add the item you wish to the gallery in a label.

    set the Templatefill of the gallery to

    If(ThisItem._Colour = 0, LimeGreen, RGBA(0, 0, 0, 0))

     

    set the gallery Item to

    SortByColumns(Filter(colSomeData, Floor = Dropdown1.SelectedText.Result),"_Colour","Value")

    the dropdown being yours of course. i am sorting the colours to follow each other then the number.

     

    this is what you get

    Floor 5

    rubin_boer_1-1627056493232.png

     

    floor 1

    rubin_boer_2-1627056535164.png

     

    Floor 4 

    rubin_boer_3-1627056566419.png

     

     

    hope this give some ideas.

     

     

     

  • RobChilds Profile Picture
    94 on at

    Thanks very much for your thorough response.

     

    I'm very much a novice so this will take me some time to go through but I shall give it a go and let you know how I get on.

     

    Thanks again,

    Rob

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Forum hierarchy changes are complete!

In our never-ending quest to improve we are simplifying the forum hierarchy…

Ajay Kumar Gannamaneni – Community Spotlight

We are honored to recognize Ajay Kumar Gannamaneni as our Community Spotlight for December…

Leaderboard > Power Apps

#1
WarrenBelz Profile Picture

WarrenBelz 765 Most Valuable Professional

#2
Michael E. Gernaey Profile Picture

Michael E. Gernaey 343 Super User 2025 Season 2

#3
Power Platform 1919 Profile Picture

Power Platform 1919 272

Last 30 days Overall leaderboard