none
Paginação Jquery e Ajax RRS feed

  • Pergunta

  • Galera alguém pode me ajudar por favor, preciso fazer uma paginação com Jquery e Ajax só que  no servidor e não no cliente, como posso fazer isso ? Segue o código que fiz até agora porem os botões Avançar e Próximo não funcionam.

    function AtualizaTabela() {
    
        if (dataTable == undefined || tamanho == undefined || pagina == undefined)
            listaPassagensMes(1, 5, $("#ListaPeriodo").val());
        else
            listaPassagensMes(pagina, tamanho, $("#ListaPeriodo").val());
    }
    
    function drawTable(habilita) {
        dataTable = $('#tabFiltra').dataTable({
            "sPaginationType": "full_numbers",
            "bSearchable": false,
            "bDestroy": true,
            "bRetrieve": true,
            "bServerSide": true,
            "fnInfoCallback": function( oSettings, iStart, iEnd, iMax, iTotal, sPre ) {
                tamanho = iStart - iEnd;
                pagina = iStart / tamanho;
            },
            "sAjaxSource": "query/getQuery",
            "aoColumns": [{ "bVisible": habilita }, null, null, null, null, null, null],
            "aLengthMenu": [[5, 10, 15, 25, 50, 100, 250], [5, 10, 15, 25, 50, 100, 250]],
            "iDisplayLength": 5,
            
            "oLanguage": {
                "sProcessing": "Processando...",
                "sLengthMenu": "Mostrar _MENU_ registros",
                "sZeroRecords": "Não foram encontrados resultados",
                "sInfo": "Mostrando de _START_ até _END_ de _TOTAL_ registros",
                "sInfoEmpty": "Mostrando de 0 até 0 de 0 registros",
                "sInfoFiltered": "(filtrado de _MAX_ registros no total)",
                "sInfoPostFix": "",
                "sSearch": "Buscar:",
                "sUrl": "",
    
                "oPaginate": {
                    "sFirst": "«« Primeiro",
                    "sPrevious": "« Anterior",
                    "sNext": "Seguinte »",
                    "sLast": "Último »»",
                    "iTotalRecords": 12,
                    "iTotalDisplayRecords": 12
                }
            },
            "fnServerData": function () { if (!suprimir) AtualizaTabela(); suprimir = false; }
    
        });
    
    }
    
    function listaPassagensMes(paginaAtual, limitePagina, idPeriodo) {
    
        $.ajax({
    
            url: baseURL + 'Venda/Paginacao',
            type: 'POST',
            data: ({ paginaAtual: paginaAtual, limitePagina: limitePagina, idPeriodo: idPeriodo }), 
            success: function (data) {
                $("#listaParticipante").html(data);
                suprimir = true;
    
            },
            beforeSend: function () {
                $.blockUI({ message: '<img src="' + url + '/Content/ajax-loader.gif" alt="Aguardando..."/>' });
    
            },
            complete: function () {
                $.unblockUI();
    
            },
            error: function (a, b, c) {
                var x = a;
            }
        });
    }
    


    Obrigado


    SirSmart

    segunda-feira, 19 de maio de 2014 00:14

Todas as Respostas

  • Olá amigo, aqui tem um exemplo com Asp Net Mvc e Jquery / Ajax: 

    http://www.codeproject.com/Tips/598468/Custom-Pagination-with-ASP-NET-MVC

    segunda-feira, 19 de maio de 2014 03:20
  • Cara desculpa mas está muito confuso e não consegui entender muito bem, vc teria outro artigo ?

    Obrigado


    SirSmart

    segunda-feira, 19 de maio de 2014 11:40
  • Cara desculpa mas está muito confuso e não consegui entender muito bem, vc teria outro artigo ?

    Obrigado


    SirSmart

    Bom dia, 

    Este exemplo é um passo a passo mais simples. 

    http://www.joe-stevens.com/2011/05/30/asp-net-mvc-simple-server-side-ajax-paging-using-jquery/

    A lógica para paginação é a seguinte: 

    O Back End retorna X registros, com o número de página 1. Quando você clicar na página número dois o back end deve receber por parâmetro o número 2 e ai você faz um Top(NumeroQueQuerPegar) e um Skip(RegistrosParaSeremPulados) se estiver utilizando Linq. Sendo assim, você retorna pro Front um JSon ou XML, podendo ser consumido via Ajax.

    segunda-feira, 19 de maio de 2014 14:13
  • Cara o exemplo é realmente show de bola, mas não estou conseguindo implementar do jeito que está a minha função Jquery. Como ficaria utilizando o minha função a cima  ?

    Se vc puder me ajudar eu agradeço

    Obrigado


    SirSmart

    segunda-feira, 19 de maio de 2014 17:05