jQuery Tablesorter Pager- Set exibido pela primeira vez fileira
-
19-09-2019 - |
Pergunta
Eu estou usando o TableSorter e Pager plug-in a partir daqui: http://tablesorter.com/docs/
Eu quero a tabela para exibir os resultados a partir de alguns definido index- por exemplo, se meu índice é de 14, eu quero a tabela para exibir a 'página' de resultados de 11-20, então minha linha é mostrado, ao invés de começar na página padrão 1, mostrando resultados 1-10.
Eu tenho esse trabalho como esperado, mas com algum código bastante feio ..
Primeiro eu trabalho fora da página que precisa ser exibido (C #):
int index = 24;
int pageToDisplayFirst = 1;
while (true)
{
if (index - 10 > 0)
{
pageToDisplayFirst++;
index -= 10;
}
else
{
break;
}
}
Então eu definir a página por este ciclo terrível:
for(var i = 0; i < <%= pageToDisplayFirst %>; i++) {
$(".next").trigger("click");
}
Aqui está o jQuery código de inicialização, nada de especial:
$("table.tablesorter").tablesorter({
cssAsc: 'sortasc', cssDesc: 'sortdesc', cssHeader: 'unsorted',
sortList: [[0,0]]
}).tablesorterPager({container: $("#pager")});
Então, alguém pode sugerir uma solução mais elegante, eficiente?
Solução
Eu não sei c #, mas você pode simplesmente fazer isso:
pageToDisplayFirst = Math.floor(index / itemsPerPage + 1)
//found this code in the plungin source
this.defaults = {
size: 10,
offset: 0,
page: 0, <<<<
totalRows: 0,
totalPages: 0,
container: null,
cssNext: '.next',
cssPrev: '.prev',
cssFirst: '.first',
cssLast: '.last',
cssPageDisplay: '.pagedisplay',
cssPageSize: '.pagesize',
seperator: "/",
positionFixed: true,
appender: this.appender
};
Talvez isso vai funcionar
$("table.tablesorter").tablesorter({
cssAsc: 'sortasc', cssDesc: 'sortdesc', cssHeader: 'unsorted',
sortList: [[0,0]]
}).tablesorterPager({container: $("#pager"), page: <%= pageToDisplayFirst %>});