Usuário com melhor resposta
Paginação em List<T>

Pergunta
-
Olá amigos, gostaria de saber como posso fazer uma espécie de paginação em uma List<T> utilizando o linq. Quando faço um "select" na lista, por exemplo vem todos os dados e eu gostaria de fazer da seguinte maneira: primeira página os dez primeiros, segunda página os próximos dez, e assim por diante... Obrigado!
Respostas
-
Saulo você pose usar do metodo Skip para pular uma certa quantidade de registro e take para pegar, seria +/- isso:
int numeroDeObjetosPorPagina = 30; var resultado= query .Skip(numeroDeObjetosPorPagina * numeroDaPagina) .Take(numeroDeObjetosPorPagina);
http://weblogs.asp.net/rajbk/archive/2009/09/30/linq-to-sql-paging-gotcha.aspx
http://weblogs.asp.net/jaycentdrysdale/archive/2009/07/13/list-lt-t-gt-paging-via-linq-to-objects.aspxVitor Mendes | Seu feedback é muito importante para todos!
Visite o meu site: http://www.vitormendes.com.br/- Marcado como Resposta Olavo Oliveira NetoModerator segunda-feira, 26 de março de 2012 11:31
Todas as Respostas
-
Olá amigos, gostaria de saber como posso fazer uma espécie de paginação em uma List<T> utilizando o linq. Quando faço um "select" na lista, por exemplo vem todos os dados e eu gostaria de fazer da seguinte maneira: primeira página os dez primeiros, segunda página os próximos dez, e assim por diante... Obrigado!
Cara vc tem essta lista em gridview ou em uma listview? -
Saulo você pose usar do metodo Skip para pular uma certa quantidade de registro e take para pegar, seria +/- isso:
int numeroDeObjetosPorPagina = 30; var resultado= query .Skip(numeroDeObjetosPorPagina * numeroDaPagina) .Take(numeroDeObjetosPorPagina);
http://weblogs.asp.net/rajbk/archive/2009/09/30/linq-to-sql-paging-gotcha.aspx
http://weblogs.asp.net/jaycentdrysdale/archive/2009/07/13/list-lt-t-gt-paging-via-linq-to-objects.aspxVitor Mendes | Seu feedback é muito importante para todos!
Visite o meu site: http://www.vitormendes.com.br/- Marcado como Resposta Olavo Oliveira NetoModerator segunda-feira, 26 de março de 2012 11:31
-
Saulo você pose usar do metodo Skip para pular uma certa quantidade de registro e take para pegar, seria +/- isso:
int numeroDeObjetosPorPagina = 30; var resultado= query .Skip(numeroDeObjetosPorPagina * numeroDaPagina) .Take(numeroDeObjetosPorPagina);
http://weblogs.asp.net/rajbk/archive/2009/09/30/linq-to-sql-paging-gotcha.aspx
http://weblogs.asp.net/jaycentdrysdale/archive/2009/07/13/list-lt-t-gt-paging-via-linq-to-objects.aspx
Vitor Mendes | Seu feedback é muito importante para todos!
Visite o meu site: http://www.vitormendes.com.br/
Valeu Vitor, funcionou com o skip!! =)- Marcado como Resposta Olavo Oliveira NetoModerator segunda-feira, 26 de março de 2012 11:31
- Não Marcado como Resposta Olavo Oliveira NetoModerator segunda-feira, 26 de março de 2012 11:31