How to sort a choice field by display label instead of stored value in native list view?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
4 hours ago
Hi Team,
I’m looking for guidance on sorting a choice field by display label in native list view.
Current setup
I have a choice field on a transactional table.
Example choice records:
Label = Category A
Value = non-alphabetical numeric value
Sequence = 1Label = Category B
Value = different numeric value
Sequence = 2Label = Category C
Value = another numeric value
Sequence = 3
In the form dropdown, the choices display correctly based on Sequence, which aligns with ServiceNow documentation.
However, in the native list view, when users click the choice field column header, the records are sorted by the stored value instead of the display label, so the list is not alphabetical from the end-user perspective.
Constraint
I cannot use the common approaches because of existing production dependencies:
Cannot change existing choice values
Cannot change labels
Cannot create a new helper field
Need this behavior specifically in standard native list view
My question
Is there any supported OOTB way in ServiceNow native list view to sort a choice field using the display label instead of the stored value?
Or is the only feasible option under these constraints:
use Group By
move to custom UI / Workspace / UI Builder list
or accept that native list sorting always uses stored value?
Would appreciate any community-supported workaround or best practice recommendation.
Thanks in advance!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
4 hours ago
Native list view column sorting for choice fields operates directly on the stored value at the database/SQL level — it issues an ORDER BY on the raw column, and there's no OOTB mechanism to redirect that to the display label.
Why this happens: When a user clicks a column header in the native list, the platform appends ORDERBY or ORDERBYDESC to the encoded query against the actual field. Since choice field values are stored as-is in the column (not as sys_choice references with dot-walking), the sort is purely on the stored string/numeric value. The sys_choice sequence and label are only consulted at render time for display substitution, not at query time for ordering.
What the Sequence field actually controls: The sequence on sys_choice governs dropdown rendering on forms and the choice_sort dictionary attribute can influence form dropdown ordering (none, label, value). Neither has any effect on list view column sort behavior.
Under your constraints (can't change values, labels, or add a helper field), you're left with exactly the options you identified:
The Group By approach is probably the most practical native workaround. Grouping by the choice field displays records clustered under their display labels, which gives users a visually organized result even though it's not a true column sort. It works entirely OOTB with zero customization.
Workspace / UI Builder lists give you more control over column sort behavior since they can be configured to use display values or custom sort logic, but that's a UX migration, not a quick fix.
Reporting is another angle worth considering — list reports allow sorting by display value and can be saved and shared, giving users a sorted view without modifying the platform list behavior.
Beyond those, there's no supported OOTB configuration, dictionary attribute, or system property that changes how native list view resolves choice field sorting.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 hours ago
Hi @surasub
Can you share the screen -where in native list ,for a field's choices, instead of label , you are getting value .
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 hours ago
