Inquiridor
Paginação Jquery e Ajax

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
Todas as Respostas
-
-
-
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. -