• Resolved thomashansen1337

    (@thomashansen1337)


    Hey Tobias,

    I am working on a cell phone plan table, where cells contain mixed values, for example the amount of data included in the plan is displayed like this: 10, 35, 100, Unlimited

    However, the table will only sort the column like this:

    • 10
    • 100
    • 35
    • Unlimited

    Is there any way I can make it sort the values properly? (10, 35, 100, Unlimited)

    Thanks!

    The page I need help with: [log in to see the link]

Viewing 3 replies - 1 through 3 (of 3 total)
  • Plugin Author TobiasBg

    (@tobiasbg)

    Hi!

    Thanks for your post and sorry for the trouble!

    The reason for this is that the sorting algorithm can’t know what “Unlimited” should mean here (i.e. it doesn’t know that this equals “a very high number”).

    My recommendation here would be to use an approach similar to https://www.ads-software.com/support/topic/sorting-column-with-currency-and-text-values/#post-15088474
    That means: Add an extra (hidden) column with these values, but where “Unlimited” is some very high number. Then, assign that hidden column to be used as the sorting data for the visible column.

    Best wishes,
    Tobias

    Thread Starter thomashansen1337

    (@thomashansen1337)

    Hi Tobias,

    Thank you for your quick reply!

    I am not very JS-savvy, but I managed to add a custom command like this:

    "columnDefs": [ { "orderData": [ 1,3,5,8 ], "targets": [ 2,4,6,9 ] }, { "visible": false, "targets": [ 1,3,5,8 ] } ]

    As it appears, I am trying to assign 4 hidden columns to be used as the sorting data for the visible columns, unfortunately it doesn’t seem to work. I guess my command is wrong ?? Any advice is greatly appreciated.

    I am going to buy the Pro-plan for 3 sites if this works, as I need the responsive layouts too.

    Thanks again!

    EDIT: Figured it out after a bit of digging through Google. This is the proper command:

    columnDefs: [ 
    { orderData: [ 1 ], targets: [ 2 ] },
    { orderData: [ 3 ], targets: [ 4 ] },
    { orderData: [ 5 ], targets: [ 6 ] },
    { orderData: [ 8 ], targets: [ 9 ] },
    { visible: false, targets: [ 1,3,5,8 ] }, ]
    • This reply was modified 2 months, 3 weeks ago by thomashansen1337. Reason: Solved
    Plugin Author TobiasBg

    (@tobiasbg)

    Hi,

    great find! Yes, this is what I meant, and indeed, the orderData has to be assigned to each column separately. Great to hear that you found this already!

    And thanks for wanting to upgrade to TablePress Pro, I really appreciate it! If you have any questions regarding that, please feel free to also email me via the button at the bottom of https://tablepress.org/pricing/

    Best wishes,
    Tobias

    P.S.: In case you haven’t, please rate TablePress in the plugin directory. Thanks!

Viewing 3 replies - 1 through 3 (of 3 total)
  • You must be logged in to reply to this topic.