Conditional Styling in a Column List

Hi there,

I'm trying to add Conditional Styling to a Column List but does not seem to work. I'm following the Conditional Styling article.

I try to match on a simple formula to show the row in a different color if the Client ID is a specific value.

However as shown in the screenshot there is an error. Client ID exists both as a column name and as a data cell name inside the List, so the =$[Client ID]=555 should work.

I tried all the following formulas but none of them work:
=[Client ID]=555
=[Client ID]="555"
=$[Client ID]=555
=$[Client ID]="555"

If I add the exact same formula as a conditional styling to a Content Box inside the List, it works fine but I cannot add it to the List itself.

Any idea what am I doing wrong?

Regards,
Andras

Hi @Andras, try =Table1[Client ID]=555 but replace Table1 with the name of your list table source.

Here's what worked for me...



Hi @aj , thanks for your reply. You've added the Conditional Styling to the Segment, not to the List itself. That option works for me as well, but not when I select the Column List (called Table1 List in your example). The problem is that if you have 6 segments inside your list then you have to add the conditional styling to each.

I can't get it to work on the List though, I changed the formula to =Clients[Client ID] as the Table is called Clients and Client ID is the column. Instead of the Formula contains a missing reference. error I now get a Formula contains missing or incompatible arguments. warning:

I tried creating a brand new Workbook, created a new table with only a Client ID column, created a new app, added a Column List but I get the same exact error/warning when I try to add Conditional Styling to the Column List. If I enter a simple formula like =TRUE then it "works" and it colors every line to green but it does not seem to like any other formula.

Regards,
Andras

Hi @Andras, good catch there. What you are experiencing is by design today, but I can understand where the confusion is. Conditional Styling can be applied to the object level within a list item, such as a segment, content box, etc., but it does not apply at the list (list item) level.

The end is result that you have to apply it to every object, such as the 6 segments scenario that you had described. :confused:

I've submitted a request to the product team with a link to this topic to consider for future improvements (e.g. either do not provide this as an option on a list or allow the styling to apply at the list item level). Thanks for reporting this!

1 Like

Hi @aj , are you sure this is by design? If I enter a simple formula like =TRUE then it "works" and it colors every line to green but it does not seem to like any other formula.

Seems like a bug that the Conditional Styling in Column List does not accept any formula that returns a value other than a TRUE/FALSE. Would you mind check with the development team, please?

Thanks,
Andras

Hi @Andras, yes this is by design today. Basically when one applies a conditional style to a list, it's either all list items or none. In other words, it's the entire list itself. That's why when you set it to =TRUE all items are styled. To demonstrate this concept I've created a quick demo.

Notice how I have two conditional styles - if the variable value is true, display green, if false, display red.

The Set to True and Set to False buttons simply change the variable's value via automation. Now notice the results:

All items within the list are styled based on the condition set by the change in the variable's value.

With this concept in mind, the list object itself does not have purview into its list item objects, including the values of those objects; which is therefore why you are unable to conditionally style it based on the values.

To achieve what you are trying to do, as previously discussed the recommendation for now is to apply conditional styling at the segment level. I know this may not be ideal especially if you have multiple segments. Which is therefore why I've passed the word on to the product team for future evaluation.

Hope this provides clarity into what's going on here.

Hi @aj , thanks for the reply. When all rows are colored the same way, it does not seem really conditional, that's just basic coloring.

Conditional would be that I can set a color on each row based on the cell contents.

For example, if the value of the Review Date column is within 14 days the row would be orange, if within 7 days the row would be red:

Screen Shot 2021-03-17 at 23.22.32

This works fine on entire Blocks and Segments but not in a List, which seems to be a bug.

Hi @aj , I looked into this a bit more, I think my confusion was from the Conditional word. I understand now that applying this to the List does not work because the List gets all rows so I can't filter for specific row values. Adding to the Segment works indeed, thanks for the suggestion.

My pleasure to help, @Andras. And glad you got it working. Let us know if you need any more help and keep us posted on your building journey.

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.