Opa, legal.
Realmente ocorre o problema, mas sabe porque? Deixe eu te explicar.
No tablesorter, existe alguns “parsers” pré definidos na biblioteca para poder fazer a ordenação correta, seja de uma URL, IP, porcento, uma data, valores em modea, etc.
Então, neste caso, você está com problemas em ordenar o campo moeda com o tipo de separador decimal diferente, por exemplo: 999.999.999,99
O tablesorter não conseguiu ordenar, pois, não reconheceu qual tipo de dado foi inserido na coluna, e não conseguiu efetuar o parser correto.
A solução é a seguinte:
É preciso criar um parser para tal tipo de ordenação, o tablesorter permite facilmente você customizar um parser, usando expressão regular.
Adicione este código em uma biblioteca sua, ou edite o código fonte do tablesorter e adicione lá.
$.tablesorter.addParser({
id: "moeda",
is: function(s) {
return true;
},
format: function(s) {
return $.tablesorter.formatFloat(s.replace(new RegExp(/[^0-9,]/g),""));
},
type: "numeric"
});
Para usar no campo desejado, configure a coluna com seu novo parser:
E o legal disso tudo, é que você fica a vontade em colocar valores como, 999.999,99 ou R$ 999.999,99. Vai funcionar perfeitamente.
Obs.: Coloquei o valor “modea” no 'id" do parser, porque já existe um chamado “currency”.
Se der tudo certo, avise por aqui.
Espero ter ajudado.
Abraço.