Given a set of rows displayed on a table, I want to offer my users three sorting posibilities. The first two are the common ascending and descending.
My problem is with a third option: "manual sorting"
Manual sorting is not compatible with normal column sorting. Whenever a table is sorted alphabetically, the meaning of "custom sort order" is lost. Dragging one row to a new location requires a table displaying the current manual sort view.
I can only think of two solutions:
Reload the whole table in manual sort mode if the user tries to relocate a row.
Disable drag/dropping if there is some type of sorting.
I can immediately imagine that (1) is quite an aggressive UX solution, but (2) is also hard to convey in an intuitive way for the user. Most likely the user will think it is not possible or something is broken.
Using (2) and showing an alert window with an explanation seems quite ugly. Furthermore, I am not even sure about how to properly disable column sorting. Since I do not like either of these two solutions
- Clicking third time disables sorting
- Context menu (hard for web and touch interfaces)