JQuery - ¿Porqué no puedo ordenar las columnas de mi datatables del lado del servidor?

 
Vista:
Imágen de perfil de María Guadalupe
Val: 1
Ha disminuido su posición en 16 puestos en JQuery (en relación al último mes)
Gráfica de JQuery

¿Porqué no puedo ordenar las columnas de mi datatables del lado del servidor?

Publicado por María Guadalupe (1 intervención) el 03/09/2018 19:25:20
Tengo un problema en mi datatables del lado del servidor.

No puedo ordenar las columnas ya sea de forma ascedente o descendente; agregé las directivas de configuración como el "ordering", "aaSorting", "order", etc. pero no logró el ordenamiento de las columnas de mi listado.

En la consulta a mi base de datos, incluyo un ORDER BY en mi sentencia pero solo para mostrar el listado de mis registros ordenados una vez que entre el usuario a consultar datos.

Anexo mi código para ver que puede hacerme falta o si es necesario enviar datos a la base de datos para que el datatables haga el ordenamiento que se requiere de las columnas.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
$(document).ready(function () {
    var status = '<?= $status ?>';
    var oTable = $('#example').dataTable({
        "paging": true,
        "info": true,
        "filter": true,
        "stateSave": true,
        "ordering": true,
 
        "processing": true,
        "serverSide": true,
        "ajax": {
            "url": baseurl+"cl_clientes/cl_listado2/"+status,
            "type": "POST",
            "dataSrc": "data",
        },
 
        "oLanguage": {
            "sSearch": "Filtrar:",
            "sInfoEmpty": "Mostrando 0 a 0 de 0 registros.",
            "sZeroRecords": "No se encontraron coincidencias.",
            "sInfoFiltered": "(Filtrando de un total de _MAX_ registros)",
            "sLengthMenu": 'Mostrar <select>'+
                '<option value="25">25</option>'+
                '<option value="50">50</option>'+
                '<option value="75">75</option>'+
                '<option value="100">100</option>'+
                '<option value="-1">Todos</option>'+
                '</select> registros',
            "oPaginate": {
                "sFirst": "Primero",
                "sLast": "Ultimo",
                "sNext": ">>",
                "sPrevious": "<<"
              },
            "sInfo": "Mostrando _START_ a _END_ de _TOTAL_ registros",
            "oAria": {
                "sSortAscending":  ": Activar para ordenar la columna de manera ascendente",
                "sSortDescending": ": Activar para ordenar la columna de manera descendente"
            }
        },
        "order": [
            [ 1, "asc" ],
            [ 2, "asc" ],
            [ 3, "asc" ],
            [ 4, "asc" ],
            [ 5, "asc" ],
            [ 6, "asc" ],
            [ 7, "asc" ],
            [ 8, "asc" ],
            [ 9, "asc" ],
            [ 10, "asc" ],
            [ 11, "asc" ]
        ],
        "columns": [
            {"data": 'cl_id_cliente'},      // 0
            {"data": 'cl_id_cliente'},      // 1 
            {"data": 'cl_clave_cliente'},   // 2
            {"data": 'cl_nombre'},          // 3
            {"data": 'cl_nombre_empresa'},  // 4
            {"data": 'us_abreviatura'},     // 5
            {"data": 'rt_nombre'},          // 6
            {"data": 'cl_monto_debe'},      // 7
            {"data": 'cl_correo'} ,         // 8
            {"data": 'ds_nombre'},          // 9
            {"data": 'cl_celular'},         // 10
            {"data": 'cl_status_pedido'},   // 11
            {"data": 'cl_id_cliente'},      // 12
        ],
        "createdRow": function(row, data, dataIndex){
            if(data['cl_status'] == 0) {
                $(row).addClass("danger");
            }
        },
        "aoColumnDefs": [
            {
                "bSortable": false,
                "targets": [0],
                "render": function(data, type, row, meta){
                   if(type === 'display'){
                      data = '<input type="checkbox" value="2" name="check_'+row.cl_id_cliente+'" clave="'+row.cl_id_cliente+'" class="tableflat check_'+row.cl_id_cliente+'" />';
                   }
                   return data;
                },
                "checkboxes": {
                   "selectRow": true,
                   "selectAllRender": '<input style="width: 20px; height: 20px;" class="check_principal dt-checkboxes" onClick="ChequearAlgunos2('+this+','+2+');"   name="2" type="checkbox" value="2" id="2"/>'
                }
            },
            { 
                "targets": [3],
                "render": function (data, type, row) {
                    return '<div data-toggle="tooltip" title="" data-original-title="">'+
                            row.cl_nombre+' '+row.cl_apellido_paterno+' '+row.cl_apellido_materno
                            '</div>';
                }
            },
            {
                "targets": [5],
                "render": function (data, type, row) {
                    return '<div data-toggle="tooltip" title="" data-original-title="">'+
                            row.us_abreviatura
                            '</div>';
                }
            },
             {
                "targets": [7],
                "render": function (data, type, row) {
                    var monto = 0;
                    if(row.cl_monto_debe == 0){
                        monto_debe = '$'+parseFloat(monto).toFixed(2);
                    } else {
                        monto_debe = '$'+parseFloat(row.cl_monto_debe).toFixed(2);
                    }
                    return monto_debe;
                }
            },
             {
                "bSortable": false,
                "targets": [12],
                "render": function (data, type, row) {
                    if(row.cl_status == 1){
                        buttons = '<a href="'+baseurl+'cl_clientes/editar/'+row.cl_id_cliente+'">'+
                            '<button type="button" class="btn color-primario btn-sm"><i class="fa fa-edit"></i></button>'+
                            '</a>'+
                            '<button onClick="statusClientee('+row.cl_id_cliente+', '+0+')" type="button" class="btn btn-danger btn-sm" clave="'+row.cl_id_cliente+'">'+
                            '<i class="fa fa-close"></i></button>';
                    }
                    if(row.cl_status == 0){
                        buttons = '<a href="'+baseurl+'cl_clientes/editar/'+row.cl_id_cliente+'">'+
                            '<button type="button" class="btn color-primario btn-sm"><i class="fa fa-edit"></i></button>'+
                            '</a>'+
                            '<button onClick="statusClientee('+row.cl_id_cliente+', '+1+')" type="button" class="btn color-secundario btn-sm" clave="'+row.cl_id_cliente+'">'+
                            '<i class="fa fa-check"></i></button>';
                    }
                    return buttons;
                }
            },
        ],
        "iDisplayLength": 25,
    });
});

Agradezco de su atenta respuesta a mi duda sobre el ordenamiento de columnas en mi datatable del lado del servidor.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder