SOLVED

Conditional formatting list field based on multiple field values

Occasional Contributor

Hi!

Can I format a list field using a field extension based on a given logic from multiple fields on a row?
Let's assume, I have a list with 3 columns:

 

EnddateStatusTraffic light
1/4/2020DoneGreen
2/4/2020OpenRed

 

The background color of field "Traffic light" should be either Green or Red, depending on the condition:

if Enddate < Today and Status == Done = Green

if Enddate < Today and Status  =! Done = Red

 

Is that possible and are field extensions the right tool?

 

Thank you very much.
Filipe

4 Replies
best response confirmed by Filipe Matos (Occasional Contributor)
Solution

Hi,

You can use column formatting to display the background color in your required field [Conditional formatting based on the other field values] as per your requirement. You would need to construct a JSON object that describes the elements that are displayed when your field is included in a list view and their display style.

 

Please refer to this sample which will be helpful for your current requirement - https://docs.microsoft.com/en-us/sharepoint/dev/declarative-customization/column-formatting#apply-fo...

 

If you are new to column formatting, please refer to this link which will help you to get started - https://docs.microsoft.com/en-us/sharepoint/dev/declarative-customization/column-formatting.

@Filipe Matos 

 

Hope this helps. Thanks.

@Swaminathan Sriram 

Thank you, your answer has pointed me in the right direction.

I was able to combine a calculated column with a column formatting to meet my purpose.

 

Best regards

Filipe

@Filipe Matos 

 

There is actually an update rolling out globally that will help do this WITHOUT CODE! It landed in my tenant last week. Good luck - here is a link to the item in the road map. This link shows a lot of updates...but conditional formatting is the one I'm talking about. It's roadmap item 

  • Featured ID: 57305

@Michael Malloy 

Awesome, just checked my tenant and found it too!

Thank you for your hint.