table icon indicating copy to clipboard operation
table copied to clipboard

sortingFn: 'alphanumeric' returns numbers last

Open jessewriter opened this issue 10 months ago • 2 comments

TanStack Table version

8.14.0

Framework/Library version

React 18.2

Describe the bug and the steps to reproduce it

expected behavior is for sorting to put symbols, numbers, followed by letters.

what i see is letters first with numbers last

example.

Amy Frank 1dude

Your Minimal, Reproducible Example - (Sandbox Highly Recommended)

propriatary code sorry

Screenshots or Videos (Optional)

column def { id: stationCode, accessorFn: (row) => ${row.x}::${row.y} sortingFn: 'alphanumeric', }

default sorting def defaultSorting={[{ id: 'stationCode', desc: false }]}

Do you intend to try to help solve this bug with your own PR?

Maybe, I'll investigate and start debugging

how i solved : sortingFn: (rowA, rowB, columnId) => { console.log('rowA', rowA.getValue('stationCode')) return rowA .getValue('stationCode') .localeCompare(rowB.getValue('stationCode'), 'en', { numeric: true }) },

Terms & Code of Conduct

  • [X] I agree to follow this project's Code of Conduct
  • [X] I understand that if my bug cannot be reliable reproduced in a debuggable environment, it will probably not be fixed and this issue may even be closed.

jessewriter avatar Apr 19 '24 18:04 jessewriter

interesting when i click the sorting from the header and disable sorting on this column it sorts correctly :/ , that may be because our data is pre-sorted correctly

jessewriter avatar Apr 19 '24 18:04 jessewriter

👍 I also found this behavior strange. Ideally there would be another sort option to allow sorting numbers before letters. I think most people would expect that to be the way it works by default.

k00k avatar Sep 14 '24 14:09 k00k