How to sort field 1/5 of plots in datatables

0
$.ajax
        ({
            type: 'POST',
            dataType: 'json',
            url: BASE_URL + '/conta_pagar/pesquisa_contas',
            data: {palavra: palavra},
            success: function (json)
            {
                var colunaNome = [{ "data": "nome_desc" },
                { "data": "id" },
                { "data": "nome_desc_despesa" },
                { "data": "nr_parcelas","targets": 0, "orderable": false},
                { "data": "dt_parcelas"},
                { "data": "posicao" },
                { "data": "valor_parcelas", render: $.fn.dataTable.render.number('.', ',', 2, 'R$ ') },
                { "data": "dt_pago"}];

                var colunaAcoes = [
                    {
                                                    "aTargets": [8], //  é o nº da colunaacoes
                        "mRender": function (data, type, dadosjson) { //aqui é uma funçãozinha para pegar os ids
                            return '<a href="' + BASE_URL + '/conta_pagar/baixar/' + dadosjson['id_parcela'] + '">\n\
                            <img src="' + BASE_URL + '/assets/images/baixa.jpg" width="20" height="20" title="Baixar"/></a>\n\
                            <a href="' + BASE_URL + '/conta_pagar/edit/' + dadosjson['id'] + '">\n\
                            <img src="' + BASE_URL + '/assets/images/edit.png" width="20" height="20" title="Editar"/></a>\n\
                            <img src="' + BASE_URL + '/assets/images/delete.png" width="20" height="20" title="Delete"\n\
                             onclick="validar_exclusao_conta_pagar(' + dadosjson['id'] + ')"/></a>';
                        }
                    }   
                ];                    
                $.fn.dataTable.moment('DD/MM/YYYY');
                datatable('#table_cont_pag', json, colunaNome, colunaAcoes);

            }
        });
$(tabela).dataTable(
    { 

        "aaData": json,//retorno ajax com informaçoes do banco
        "aoColumns": colunaNome,// colunas
        "aoColumnDefs": colunaAcoes,// coluna açoes
        "language": {
            "scrollX": true,
            "sEmptyTable": "Nenhum registro encontrado",
            "sInfo": "Mostrando de _START_ até _END_ de _TOTAL_ registros",
            "sInfoEmpty": "Mostrando 0 até 0 de 0 registros",
            "sInfoFiltered": "(Filtrados de _MAX_ registros)",
            "sInfoPostFix": "",
            "sInfoThousands": ".",
            "sLengthMenu": "_MENU_  Resultados por Página",
            "sLoadingRecords": "Carregando...",
            "sProcessing": "Processando...",
            "sZeroRecords": "Nenhum registro encontrado",
            "sSearch": "Pesquisar",
            "oPaginate": {
                "sNext": "Próximo",
                "sPrevious": "Anterior",
                "sFirst": "Primeiro",
                "sLast": "Último"
            },
            "oAria": {
                "sSortAscending": ": Ordenar colunas de forma ascendente",
                "sSortDescending": ": Ordenar colunas de forma descendente"
            }
        }
    }
);
    
asked by anonymous 25.10.2017 / 05:11

1 answer

1

For those who need it

jQuery.fn.dataTableExt.oSort['num-html-asc'] = function(a,b) {
var x = a.replace( /[/]/g, "" );
var y = b.replace( /[/]/g, "" );
x = parseFloat( x );
y = parseFloat( y );
return ((x < y || isNaN(y) ) ? -1 : ((x > y || isNaN(x)) ? 1 : 0));
};

jQuery.fn.dataTableExt.oSort['num-html-desc'] = function(a,b) {
var x = a.replace( /[/]/g, "" );
var y = b.replace( /[/]/g, "" );
x = parseFloat( x );
y = parseFloat( y );
return ((x < y || isNaN(x)) ? 1 : ((x > y || isNaN(y) ) ? -1 : 0));
}; 

example use

{ "data": "nr_parcelas","type":"num-html"},
    
25.10.2017 / 06:35