From a user:
there’s one thing it doesn’t do, right now, which is
allow you to sort on multiple columns. This has been an annoyance for me
with various websites for years—there have been many times when I want
to sort a table first by, say, name, then by something else, say salary.
I don’t think I’ve ever actually seen a website that did that.
There are different ways this could be done, but one hack that I came up
with was to always try to keep the table sorted by the different keys
that had been clicked on already. So, in other words, if you click on
“name”, then “salary”, the second click on “salary” will order things by
salary, and then by name (when the salaries are the same). If you then
click on “name” again, since the previous click was on “salary”, the
sort keys will be “salary”, then “name”. This can be extended to any
number of keys, obviously. This method may not be completely intuitive,
but it has the advantage that it requires no fancy changes to the user
interface, and I think, perhaps, that it can be learned quickly—as
people click trying to see the data, they’ll actually figure out,
subliminally, perhaps, what they need to do… The version I created,
years ago, didn’t have enough exposure to verify whether this hypothesis
was true, or not.
By default, by the way, I would expect the table to initially sort on
all the fields, in field order (if you’re using this sort method).
sil: the problem with doing this isn’t doing the sorting, it’s the UI.
The suggestion above might work, but there are a couple of issues with
it; it creates a difficult-to-remove setting (how, if you’re sorted on
two columns at the moment, do you go back to sorting by only one column?),
and it’s difficult to make it adaptable so the user can choose to sort
on three columns or two or one if they choose (because you can’t tell
whether a click on the third column meant “add this column to the current
sort” or “cancel the current sort and sort on this column instead”.