none
Filtro/Busca Datatable não Funciona. RRS feed

  • Pergunta

  • Boa tarde, Galera,

    A Funcionalidade Filter do Datatable, não está fazendo o filtro. O Grid, está sendo montado e preenchido corretamente e a navegação está ok, no entanto  o filtro do Grid, não realizada a busca. Não consigo achar o motivo.

    Segue a parte do código :

    GridLojaProcessoPaginacao: function () {
            var oTable = $('#grdLojaProcesso').dataTable({
                "bProcessing": true,
                "bServerSide": true,
                "sPaginationType": "full_numbers",
                "bInfo": true,
                "bPaginate": true,
                "bAutoWidth": false,
                "bSort": false,           
                "sAjaxSource": "GridLojaProcessoPaginacao",
                "bJQueryUI": false,
                "bDestroy": true,
                "bSearch" : true,
                "bFilter": true,           
                "aoColumns": [
                    { "mDataProp": "cCodigoLoja", "sTitle": "" },
                    { "mDataProp": "cCodigoLoja", "sTitle": "Código" },
                    { "mDataProp": "cNome", "sTitle": "Loja" },
                    { "mDataProp": "Status", "sTitle": "Situação" },
                    { "mDataProp": "cEndereco", "sTitle": "Endereço" },
                    { "mDataProp": "cBairro", "sTitle": "Bairro" },
                    { "mDataProp": "cCidade", "sTitle": "Cidade" },
                    { "mDataProp": "cCodigoUF", "sTitle": "UF" },
                    { "mDataProp": "cTelefone", "sTitle": "Telefone" },
                    { "mDataProp": "cLocalOperacional", "sTitle": "Formato" },
                    { "mDataProp": "Divisao", "sTitle": "Divisão" },
                    { "mDataProp": "cBandeira", "sTitle": "Bandeira" },
                    { "mDataProp": "cNomeRegiao", "sTitle": "Região" },
                    { "mDataProp": "CHorarioAtendimento", "sTitle": "Horário Atendimento" },
                    { "mDataProp": "cDiretorOperacional", "sTitle": "Diretor Operacional" },
                ],
                "oLanguage": {
                    "sInfo": "Mostrando <span>_START_</span> até <span>_END_</span> de <span>_TOTAL_</span> registros",
                    "sInfoEmpty": "Mostrando 0 até 0 de 0 registros",
                    "sSearch": "Buscar:",               
                    "sLengthMenu": "_MENU_ <span> Registros por página</span>",
                    "sZeroRecords": "Nenhum registro encontrado",
                    "sInfoFiltered": "(filtrado de _MAX_ registros no total)",
                    "oPaginate": {
                        "sFirst": "  <<  ",
                        "sLast": "  >>  ",
                        "sNext": "Próximo",
                        "sPrevious": "Anterior"
                    },
                    "sProcessing": ""
                },
                "fnServerData": function (sSource, aoData, fnCallback, oSettings) {
                    var obj = {
                        sEcho: aoData[0].value,
                        iDisplayStart: aoData[3].value,
                        iDisplayLenght: aoData[4].value,
                        cLocalOperacional: Consumidor_Atendimento_LojaProcesso.Fields.ddlUnidadeNegocioLoja.val(),
                        cCodigoUF: Consumidor_Atendimento_LojaProcesso.Fields.ddlUfLoja.val(),
                        cBandeira: Consumidor_Atendimento_LojaProcesso.Fields.ddlBandeiraLoja.val(),
                    }
                    $.ajax({
                        "dataType": 'json',
                        "contentType": "application/json; charset=utf-8",
                        "type": "POST",
                        "url": "GridLojaProcessoPaginacao",
                        "data": JSON.stringify(obj),
                        "success": function (json) {
                            if ($.parseJSON(json).iTotalRecords == 0) {
                               $("#grdLojaProcesso_processing").html("");
                               $("#grdLojaProcesso tbody").html("");
                               $("#grdLojaProcesso tbody").html("<tr class='odd'><td class='dataTables_empty' valign='top' colspan='5'>Não foram encontrados registros para sua busca.</td></tr>");
                            }
                            else
                                fnCallback($.parseJSON(json));
                        },
                        "error": function (jqXHR, textStatus, errorThrown) {
                            var erroMensagem = "";
                            if (jqXHR.status == "500")
                                erroMensagem = $.parseJSON(jqXHR.responseText).message;
                            else
                                erroMensagem = jqXHR.statusText;

                            bootbox.hideAll();
                            $("#labelError").html("ERROR TYPE: " + jqXHR.status + " - MESSAGE: " + erroMensagem + "<br/>" + "Contate o Administrador !");
                            $("#divError").css("display", "block");
                            jQuery('html, body').animate({ scroll
                        }
                    });
                },

                "fnRowCallback": function (nRow, aData, iDisplayIndex) {
                    $('td:eq(0)', nRow).html(
                        "<input type='hidden' id='hfIdCliente' value='" + aData["cCodigoCliente"] + "'/>" +
                        "<button id='btnVincularLojaProcesso" + aData["cCodigoLoja"].toString() + "' class='btn btn-link' onclick='Consumidor_Atendimento_LojaProcesso.VincularLojaProcesso(\"" + aData["cCodigoLoja"].toString() + "\",\"" + aData["cNome"].toString() + "\",\"" + aData["Sigla"].toString() + "\",\"" + aData["cCodigoDivisao"].toString() + "\");'>" +
                            "<i class='icon-file'></i>" +
                        "</button>"
                    );
                    $('td:eq(0)', nRow).attr('id', 'tdStart');
                }            
            });

    • Editado Norton Nery quarta-feira, 21 de agosto de 2019 18:25
    quarta-feira, 21 de agosto de 2019 18:24