Usuário com melhor resposta
Paginação

Pergunta
-
Respostas
-
float totalPaginas = model.Venda.Count() / limitePagina; if ((model.Venda.Count() % limitePagina) > 0) { model.NumeroPaginas = Convert.ToInt32(totalPaginas + 1); }
Diego Murakami
- MCP, MS
* Por favor "Marcar como Resposta" caso esta for útil para sua dúvida.- Editado Diego Murakami quarta-feira, 21 de maio de 2014 19:51
- Marcado como Resposta SirSmart quarta-feira, 21 de maio de 2014 20:01
Todas as Respostas
-
Boa tarde amigo,
Você precisa fazer um count com todos os registros que batam com o filtro que você quer.
Segue um exemplo:
Contexto.Entidade.Count(t => t.Id > 10) // Faz count de todos os registros que tiverem Id > 10.
Outro exemplo:
Contexto.Vendas.Where(v => v.Id > 1).Count();
Abraços
-
Na verdade o
model.Venda.Count()
já tem todos registros que tenho. Só que como estou montando a grid na mão, preciso saber quantas paginas precisa ser exibida, exemplo: 1 2 3 4 5
Só que não sei fazer esse calculo para aparecer esses numeros que acessarão as paginas.... Desculpa mas não sei se expliquei direito...
SirSmart
-
Entendi,
O Cálculo é bem simples:
Você tem a quantidade de páginas que serão exibidas na tela, certo? Você divide a quantidade total de registro no banco pela quantidade de páginas.
Ex: 200 registros / 10 registros por página = 20 páginas
Ai você faz um foreach na quantidade, pra exibir 1 por 1 (ex: 1,2,3,4,5,6,7,8,...) Fica por sua preferência...
- Editado Vinícius Rafael Tavares quarta-feira, 21 de maio de 2014 18:42
-
-
É só você fazer um teste de quantos sobram usando MOD;
var mod = 12 % 5;
logo, mod será a quantidade restante...se for 0 significa que não precisa adicionar mais páginas, se for maior que 0, adicione uma a mais.
;)
Abraços !
Diego Murakami
- MCP, MS
* Por favor "Marcar como Resposta" caso esta for útil para sua dúvida. -
Cara seguinte :
Tenho 12 registros e por pagina tenho 5 registros. Se eu dividir 12 / 5 me retorna 2,4 que será 2. Na minha pagina daria 2 paginas, mas faltou 2 registros que ficaram escondidos.... Como resolvo isso ?
Obrigado
SirSmart
int totalPaginas = totalRegistros / registrosPorPagina; if (totalPaginas % 2 > 0 ) // Se o resto for maior que zero significa que não é um inteiro { totalPaginas + 1; }
-
Cara desculpa estar postando de novo mas não sei o que está acontecendo. Meu total é 12 e minha quantidade por pagina é 5. Fazendo essa divisão daria 2.4 , mas está me retornando 2.0. O que estou fazendo de errado, segue o código:
float totalPaginas = model.Venda.Count() / limitePagina; if (totalPaginas % 2 > 0) // Se o resto for maior que zero significa que não é um inteiro { model.NumeroPaginas = Convert.ToInt32(totalPaginas + 1); }
ObrigadoSirSmart
-
float totalPaginas = model.Venda.Count() / limitePagina; if ((model.Venda.Count() % limitePagina) > 0) { model.NumeroPaginas = Convert.ToInt32(totalPaginas + 1); }
Diego Murakami
- MCP, MS
* Por favor "Marcar como Resposta" caso esta for útil para sua dúvida.- Editado Diego Murakami quarta-feira, 21 de maio de 2014 19:51
- Marcado como Resposta SirSmart quarta-feira, 21 de maio de 2014 20:01