none
GridView .PageIndex =0 RRS feed

  • Pergunta

  • antes de carrega um gridview

    estou fazendo isto

    gvClientes.PageIndex =0

    para posicionar na pagina 1

    tentei com databind() mas ele não vai para a pagina 1 ele fica na página navegada pelo usuário

    quarta-feira, 16 de abril de 2014 10:30

Respostas

  • Desde que vc tenha manipulado o método do GridView PageIndexChanging deve funcionar veja :

     protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
            {
                GridView1.PageIndex = e.NewPageIndex;
                GridView1.DataSource = RetornaDados();
                GridView1.DataBind();
            }
    
            protected void Button1_Click(object sender, EventArgs e)
            {
                GridView1.PageIndex = 0;
                GridView1.DataSource = RetornaDados();
                GridView1.DataBind();
                
            }

    • Marcado como Resposta jceoms quarta-feira, 16 de abril de 2014 17:30
    quarta-feira, 16 de abril de 2014 12:25
  • Dentro do seu método de pesquisa, voce pode limpar o grid antes de setar o novo datasource.

    gvClientes.DataSource = null;
    gvClientes.Refresh();
    gvClientes.DataSource = RetornaDados();
    gvClientes.DataBind();

    Verifique também se a rotina não está sendo chamada dentro do PageLoad. Neste caso, use a propriedade IsPostBack para determinar se deve ou não carregar no Load da página.

    Abraços.


    Washington Luíz | MCP, MCTS
    O Senhor é minha força e somente Nele confio.

    • Marcado como Resposta jceoms quarta-feira, 16 de abril de 2014 17:30
    quarta-feira, 16 de abril de 2014 12:31
  • jceoms, creio que essa dúvida se estender será necessário outro post, porque caso alguém tenha essa mesma dúvida poder utilizar da função de pesquisa que existe no fórum ! 

    Somente para retirar sua duvida creio que se você usar um bloco try catch e capturar e excessão vai resolver metade desses problemas ! Pois você poderá capturar as SqlException também.

    • Marcado como Resposta jceoms quarta-feira, 16 de abril de 2014 17:30
    quarta-feira, 16 de abril de 2014 12:48

Todas as Respostas

  • Mostre o código, o modo que está carregando e fazendo isso pq deveria funcionar...
    quarta-feira, 16 de abril de 2014 11:39
  • tenho um botão  "pesquisa" que no evento click chama esta rotina

                gvClientes.DataSource = RetornaLista();
                gvClientes.DataBind();

    ele tem paginação  no caso  1 2 3 4  5

    quando clico na pagina 2 ele mostra a página 2 , ok até aqui tudo bem

    mas estando na pagina 2 e clicando novamente no botao pesquisa

    ele não volta para a página 1 fica na 2

    quarta-feira, 16 de abril de 2014 12:00
  • Desde que vc tenha manipulado o método do GridView PageIndexChanging deve funcionar veja :

     protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
            {
                GridView1.PageIndex = e.NewPageIndex;
                GridView1.DataSource = RetornaDados();
                GridView1.DataBind();
            }
    
            protected void Button1_Click(object sender, EventArgs e)
            {
                GridView1.PageIndex = 0;
                GridView1.DataSource = RetornaDados();
                GridView1.DataBind();
                
            }

    • Marcado como Resposta jceoms quarta-feira, 16 de abril de 2014 17:30
    quarta-feira, 16 de abril de 2014 12:25
  • Dentro do seu método de pesquisa, voce pode limpar o grid antes de setar o novo datasource.

    gvClientes.DataSource = null;
    gvClientes.Refresh();
    gvClientes.DataSource = RetornaDados();
    gvClientes.DataBind();

    Verifique também se a rotina não está sendo chamada dentro do PageLoad. Neste caso, use a propriedade IsPostBack para determinar se deve ou não carregar no Load da página.

    Abraços.


    Washington Luíz | MCP, MCTS
    O Senhor é minha força e somente Nele confio.

    • Marcado como Resposta jceoms quarta-feira, 16 de abril de 2014 17:30
    quarta-feira, 16 de abril de 2014 12:31
  • muito bom , obrigado

    mas vamos um pouco mais para frente

    se RetornaDados() não touxer nehum resultado vou mostrar uma mensagem em um label

    que a pesquisa não retornou nenhum registro até aí tudo bem

    mas se houve outro tipo de erro, de conexão com o banco por  exemplo

    como tratar isto preciso antes de verificar  se RetornaDados() é diferente de null

    saber se houve outro tipo de erro, de conexão com o banco

    algo como e   if ClasseRetornaDados.ErroBacno == true;

    quarta-feira, 16 de abril de 2014 12:33
  • jceoms, creio que essa dúvida se estender será necessário outro post, porque caso alguém tenha essa mesma dúvida poder utilizar da função de pesquisa que existe no fórum ! 

    Somente para retirar sua duvida creio que se você usar um bloco try catch e capturar e excessão vai resolver metade desses problemas ! Pois você poderá capturar as SqlException também.

    • Marcado como Resposta jceoms quarta-feira, 16 de abril de 2014 17:30
    quarta-feira, 16 de abril de 2014 12:48
  • entendi

    mas vou criar um atributo publico na classe de conexão

    tipo  int ERRO

    e subir este retorno para a classe ClasseRetornaDados

    e tratar isto no webform antes de qualquer coisa

    obrigado

    quarta-feira, 16 de abril de 2014 12:57
  • Não esqueça de marcar os posts que te ajudaram a resolver o problema, para que outros possam se beneficiar tambem da solução.

    Abraços.


    Washington Luíz | MCP, MCTS
    O Senhor é minha força e somente Nele confio.

    quarta-feira, 16 de abril de 2014 14:51