Prazer em desenvolver software
Amigos
To precisando de ajuda
Tenho um gridview que tem 1000 páginas, este grid tem uma unica coluna que é um template dentro deste template tenho um um label que mostrar o código do registro
preciso procurar no meu gridview em qual página esta o código 100 por exemplo
e posicionar meu gridview.pageindex para mostrar para meu usuário
Tags:
Lucas, só para excluir possibilidades ok?
Se vc quer o registro 100 e vc tem 1000 páginas. Se vc está paginando a 50 registros por página, nao seria só setar para página 2?
Obrigado amigo.
A questão é eu mostro apenas um registro por pagina e na paginaca tenho o Primeiro - anterior - proximo e ultimo por isso que preciso percorrer o grid em todas as 1000 paginas para saber qual pagina esta o registro do codigo 100 para posicionar nela
Legal, deixe eu perguntar mais coisas para eu entender tudo ok?
Vc faz um select no banco que traz 1mil registros, vc só exibe um por vez e pagina o resto.
É isso mesmo?
sim é isso mesmo
Ok, não seria melhor vc fazer uma consulta retornando apenas 1 registro, e neste vir uma coluna a mais vindo a quantidade total de registros? Exemplo:
Select Tabela.*, count(*) total From Tabela Where Tabela.Id = XX
Vc usa qual bando de dados?
Tiagão, trabalho com firebird, mas fiz isso aqui
pego no banco 500 registro e passo para meu grid ai procuro onde esta o registro x em qual page index do grid ai posiciono na página
Session["IDMANFIESTO"] = GridView4.Rows[GridView4.SelectedIndex].Cells[1].Text.ToString();
lblInfromacaoConsulta.Text = Session["IDMANFIESTO"].ToString();
int paginas = GridView16.PageCount;
for (int X = 0; X < paginas; X++)
{
GridView16.PageIndex = X;
GridView16.DataBind();
//Label IDManifesto = (Label)FindControlRecursive(form1, "lblCodManifesto");
//lblInfromacaoConsulta.Text = lblInfromacaoConsulta.Text + "----" + IDManifesto.Text;
if (GridView16.Rows[0].Cells[0].Text == lblInfromacaoConsulta.Text)
{
GridView16.PageIndex = X;
break;
}
}
MultiView1.ActiveViewIndex = 7;
Tiago muito obrigado amigo valeu mesmo
Lucas,
Te oriento a revisar o código, pois tem ações que está tomando (consequentemente recursos) que são desnecessários. Veja:
1. Vc seleciona registro que não irá exibir na tela;
2. Armeza em Session dados que interessam apenas a uma página, persistindo dados na memório do servidor de aplicação sem necessidade;
3. A busca de informação está sendo feita dentro do grid, e não dentro do banco (este, no caso, feito exatamente para buscar dados, e o grid apenas para exibir);
Mas, a boa notícia é que tem como melhorar! :)
1. No momento que for fazer o SELECT, já passe a InformacaoConsulta nele, e traga apenas o que será exibido na tela;
2. Crie métodos para tratar os eventos de Pagging do GridView, para cada paginação, refaça o SELECT com o novo índice;
3. Armezene a informação de IdManifesto no DataKey do GridView, e não em uma session. Assim essa informação só é armazenada enquanto o GridView exisitir. Após a memória é liberada.
No final vc verá que a aplicação ficará mais rápida e mais leve para o browser e para o banco!
Ok, vou revisar sim
Obrigado amigo
Apareceu alguma solução para o problema?
© 2019 Criado por Ramon Durães.
Ativado por