Forum Discussion
Approval Status Column Suddenly Numeric - Due to Column Formatting?
I'm working in my tenant and noticed an issue with all of my lists that have content approval turned on. The approval status column now lists a number instead of the words "Approved" | "Rejected" | "Pending" I see 0 | 1 | 2.
I've created a new list and the words show up fine... but as soon as I turn on column formatting the words turn to numbers...
Jeff_Lacarte nfsg20 DavidLang Amiryunus SteveB aricornish YeBuu mcancela Duncan2450 Gavin Tully TonieB
This is happening because of recent change in JSON schema to officially support Approval Status column in JSON formatting.
Due to this update, the @currentField and [$_ModerationStatus] will resolve to internal code (enum value) and @currentField.displayValue and [$_ModerationStatus.displayValue] will resolve to the localized string (I guess according to language).
The Microsoft official docs will be updated with more info in the coming weeks. You can check the details for now at: SharePoint Online Column Formatting for Approval Status: uses language specific text?
Related Read: How to find the Internal name of columns in SharePoint Online?
Please consider giving a Like if my post helped you in any way. For SharePoint/Power Platform blogs, visit: Ganesh Sanap Blogs
- mcancelaCopper ContributorSame issue. Pernille-Eskebo repair this!
- Jeff_LacarteBrass Contributor
Fixed it with a workaround, but it's still an issue. I can't be expected to use a workaround for every list that I need to apply conditional formatting to the approval status column.
By going into advanced mode to work with the formatting JSON directly I could see:
"txtContent": "[$_ModerationStatus]"
which is displays the value for a given item in a row of the column.Through trial and error and referencing the syntax reference, I found that you can use '@currentField', which also displayed the numeric value of the approval status. However, once I added '.displayValue' the text value showed up again!"txtContent": "@currentField.displayValue"
As for why this happened? I have no idea. This is a workaround for now.
- TonieBCopper Contributor
This problem suddenly started for me today on all libraries where there is formatting on the Approval Status column. The problem is not resolved by turning off the column formatting. When I turn off the column formatting, now instead of a number the Approval Status column is blank. I had to go then into the Advanced link and delete the json code, which should already disappear when I turned off the column formatting. I don't see any other info on this issue except for your post, but surely this must be occurring due to some Microsoft change. (My Approval Status columns have been formatted for over a year and I have made no recent changes to my site or libraries.) Jeff_Lacarte
- Jeff_LacarteBrass Contributor
TonieB Thank you for confirming that you have the same problem. I suspected it might have been a MS change behind the scenes.
I encourage others to try testing a new list with content approval turned on and try adding column formatting on the Approval Status column. I suspect you will have the same results as TonieB and I. It would be helpful too if others post their results here.
TonieB, if your JSON formatting isn't terribly complex, I would try copying it into an editor like VS Code and do a find and replace on: [$_ModerationStatus] to @currentField.displayValue. That should at least get you back up and running as a workaround for now.
- nfsg20Copper ContributorHad the same issue at a customer. This is actually a good change because you don't have to check the approval status value for multiple languages anymore (if this is necessary for you). I hope it does not get reverted.
- Jeff_LacarteBrass ContributorGiving you access to the enumeration value is a good change sure, but changing the returned value of an existing variable is not. People have built custom views around this, and to change it is not ok.
- aricornishCopper ContributorHello,
We are experiencing this issue as well. Thank you! - Aitor_DLFCopper ContributorThe same problem has appeared on all my sites this week, where I had already implemented a JSON code that has been working for years and nothing similar has ever happened. I hope MS looks for a patch ASAP because this type of bugs does not look good in collaboration systems
- SteveBBrass Contributor
Same issue for us. We changed the json formatting to refer to "ModerationStatus" instead and this looks ok. HOWEVER when a search term is entered, all results are showing "Rejected" instead of their true status. Microsoft, fix it please!
Jeff_Lacarte Are you applying JSON formatting on Approval status column?
If yes, this is the reason column showing values differently because SharePoint saves approval status column values based on the SPModerationStatusType Enum.
Can you show us the JSON code you are using to format list/column?
Please click Mark as Best Response & Like if my post helped you to solve your issue. This will help others to find the correct solution easily. It also closes the item. If the post was useful in other ways, please consider giving it Like.
- Jeff_LacarteBrass Contributor
I was using JSON formatting yes, and it was working fine all week. It seems to have changed on me suddenly. The screenshot in provided is from a brand new list that had no formatting applied. I turned on column formatting and as soon as I did that even without creating a rule the enum shows it's value instead of it's text. Below is a gif of reproducing the issue on a brand new list. Sorry, it's fast, I wanted to keep the size down.
- AmiryunusCopper ContributorNoted the same issue with all Lists in SP Online where conditional formatting was applied based on the approval value
- DavidLangCopper Contributor
We have the same issue with impact to the whole list.
The Approval Status formatting was used in our lists also for the other columns in the same list, however, the formatting is not working with the number "0" and also not for the word "Approved".
It is really a pity because it was really nice and simple feature to see the approval status in the first column. I hope that Pernille-Eskebo will solve this issue.