Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

felipe maricato moura

registro randomicos na paginação

Recommended Posts

Olá pessoal estou com um problema e falta imaginação para resolver.

 

 

Eu tenho uma consulta que retorna registros randomicos.

 

Quando eu faço uma gridview e coloco esses registro toda vez que eu dou um refresh na página eles trocam de posição (claro)

 

A questão é quando eu ativo a paginação na grid a cada vez que eu troco a página a consulta retorna resoltados sortidados novos e desta forma os registro podem se repetir pois é fieto uma consulta nova.

 

por exemplo

 

se na primeira pagina aparece neste ordem

 

1

5

9

3

 

quando eu vou para segunda esperando ver os resultados que não apareceram na primeira o object data sorce faz a consulta novamente e retorna qualquer resultado podendo aparecer algum destes registros novamente.

 

esse é o problema

 

tem como eu fazer a primeira consulta ficar na memória e paginar por ela desta forma fixando os resultado?

 

valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente assim, no Page_Load você carrega um array de inteiros e joga ele na grid e no viewstate.

Neste caso você remove o ObjectDataSource. Removendo este, você vai precisar escrever o evento PageIndexChanging da grid.

Neste evento da grid você carrega o array de inteiros que está no viewstate, filtra conforme a página que o usuário digitou e joga novamente na grid.

Não esquece de no fim do evento colocar o comando abaixo, para que visualmente mude a página selecionada.

this.GridView1.PageIndex = e.NewPageIndex;

Isso ai, você acabou de criar uma paginação no braço :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

o que seria viewstate da gridwiew

Compartilhar este post


Link para o post
Compartilhar em outros sites

a bom saquei já estava ligado mas tinha me esquecido. mas assim

 

não da para pegar a pesquisa colocar ela em um tipo de dado que fique na memória tipo um data table na memória e mandar o gridviwe usar esse que está na memória para paginar e alimentar o datasource?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode usar a memória do servidor, que o session que o quintelab citou.

O ViewState você tem o mesmo resultado, só que os dados não ficam na memória, ficam na página.

A escolha entre um ou outro vai depender do seu cenário. Se for usar session, não esqueça de limpar os valores quando não precisar mais!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.