CONSULTA POR INTERVALO DE ÍNDICE (PAGINADOR)

 Tópico anterior Próximo tópico Novo tópico

CONSULTA POR INTERVALO DE ÍNDICE (PAGINADOR)

C#

 Compartilhe  Compartilhe  Compartilhe
#487051 - 09/02/2019 12:19:49

MRSILVA
MARINGA
Cadast. em:Julho/2015


Olá.
Preciso de uma ajuda desde já agradeço quem puder me ajudar, no meu projeto MVC NET CORE tenho uma pagina com uma tabela, onde eu monto um paginador de acordo com o numero de registro que retorna da consulta, cada pagina eu carrego até 10 registros na tabela, ou seja, na primeira pagina conterá o registro com índice 0 a 9 na segunda conterá os registros com índice 10 a 19 assim por diante...  Quando eu renderizo a pagina pela primeira vez eu já estou carregando os 10 primeiros registros até ai tudo bem, o problema que eu não queria trazer os restantes dos registros, até podia guardar esses registros em um array (Java Script) e depois carregar no evento do click do paginador, mais intuito e construir uma pagina bem leve, então queria carregar esses registros conforme fosse clicando em cada pagina, ou seja, trago esses registros através de uma requisição AJAX da minha WEBAPI e carrego os mesmo via JAVASCRIPT, ai vem o problema estou com dificuldade de montar a instrução ENTITY FRAMEWORK ou SQL para trazer os registros entre os intervalos de índice, exemplo se eu der um click na pagina 3 queria trazer os registros com índice 20 a 29 até posso trazer todos os registros e fazer um loop e separado o intervalo necessário, mas queria trazer diretamente o intervalo do banco de dados acredito que dessa forma vou ganhar desempenho.

Vale lembrar que a dificuldade é somente na instrução EF ou SQL.

Tentei alguns exemplos que pesquisei na internet  sem sucesso, umas das minhas tentativas foi a seguinte:

"SELECT Id, Descricao, IdTipo FROM ProdutoGrupo WHERE IdTipo = @idTipo AND ROWNUM >= @indexIni AND ROWNUM <= @indexfim"  






Resposta escolhida #487053 - 09/02/2019 13:22:15

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Deve existir uma dúzia de diferentes maneiras de fazer o que tu quer. Veja se isso te dá uma luz

_______________________________________________________________________
Virei Oráculo!
The end is nigh, be ready for the nukes!


#487126 - 13/02/2019 00:01:27

MRSILVA
MARINGA
Cadast. em:Julho/2015


Obrigado pelo exemplo Kerplunk.

Já tinha criado meu paginador estava com duvidas somente na elaboração da consulta, mas agora está funcionando como esperado, estou fazendo a seguinte consulta.

"WITH MyDados AS (SELECT Id, IdTipo, Descricao, RowIndex = ROW_NUMBER() OVER(ORDER BY Id) FROM ProdutoGrupo WHERE IdTipo = @idTipo) SELECT Id, IdTipo, Descricao FROM MyDados WHERE RowIndex between  @indexIni AND @indexFim"))  


Se alguém tiver  uma outra sugestão de consulta com  melhor performance eu agradeço.



 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por MRSILVA em 22/07/2019 09:02:19