Array
(
)

Mudança de página no GriView

Dassis
   - 18 dez 2007

Oi!!!

Por gentileza, alguém pode me ajudar?!

Quando mostro uma grid, com resultados de uma busca e tento mudar para a proxima pagina de resultados ele me traz o seguinte erro:

GridView ´GridView1´ acionou o evento PageIndexChanging, que não foi tratado.

Eu não tenho nenhum evento desse tipo no meu codigo ou no html...

Só um detalhe, estou eu sei que tenho q paginar via código, pq eu não uso nenhum objectDataSource, faço tudo via código... enfim, só que eu não sei como faz isso :?

Como paginar via código?????

Vlw

Dassis
   - 18 dez 2007

Esqueci de falar....

É em C# tah?

Alguém????? Please????????

Hebrao
   - 27 dez 2007

Dassis,

No evento PageIndexChanging da grid, coloque o seguinte codigo:

... executa a sua query....

grid.PageIndex = e.NewPageIndex
grid.DataBind()

Ok?

Falow.

Dassis
   - 08 jan 2008

Eiii...
Obrigada pela resposta.... mas não tá funcionando...
Quer dizer... até muda a página, mas não mostra o restante dos dados da busca, mesmo com o databind...

Tem como vc detalhar melhor como ficaria?

Bjs,
Danny

Hebrao
   - 08 jan 2008

Eu faço dessa forma:

grid.DataSource = [seu datasource]
grid.PageIndex = pag
grid.DataBind()

Se quiser postar o codigo que vc esta usando, talvez ajude a entender o motivo do problema.

Dassis
   - 09 jan 2008

Aí está o código.....

#Código

//Método que faz a busca
    protected void btnBuscar_Click(object sender, EventArgs e)
    {
        try
        {
            //Apaga a mensagem de erro, os botões e o grid caso já tenha sido efetuado alguma busca
            lblErro.Visible = false;
            gridView.Visible = false;            
            lblErroBusca.Visible = false;

            //Os métodos com a string de conexão e etc está no App_Code
            Usuarios obj = new Usuarios(); 
                 
            //Verificando o tipo de busca (A, B ou C)
            switch (ddlOpcoes.Text)
            {
                case "A":
                    gridView.DataSource = obj.RetornarDadosUsuarios(3, txtBusca.Text.ToUpper());                        
                    break;
                case "B":
                    //Validação de título?
                    gridView.DataSource = obj.RetornarDadosUsuarios(2, txtBusca.Text.ToUpper());
                    break;
                case "C":
                    if ((int.Parse(txtBusca.Text) <= 0) || (int.Parse(txtBusca.Text) > 55))
                    {
                        lblErroBusca.Text = "Valor incorreto!";
                        lblErroBusca.ForeColor = Color.Red;
                        lblErroBusca.Visible = true;
                    }
                    else
                    {
                        gridView.DataSource = obj.RetornarDadosUsuarios(1, txtBusca.Text.ToUpper());
                    }
                    break;
            }         
        
            gridView.DataBind();
            if (gridView.Rows.Count > 0)
            {                    
                gridView.Visible = true;
                btnExcluir.Visible = true;
            }                
            else
            {
                if ((gridView.Rows.Count == 0) && (lblErroBusca.Visible != true))
                {
                    lblErro.Text = "Sua busca não retornou resultados.";
                    lblErro.ForeColor = Color.Red;
                    lblErro.Visible = true;                    
                }
            }
        }        
        catch (Exception)
        {
            lblErro.Text = "Ocorreram erros ao efetuar a busca. Tente novamente em alguns minutos!";
            lblErro.ForeColor = Color.Red;
            lblErro.Visible = true;
        }
    }


    protected void gridView_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        gridView.PageIndex = e.NewPageIndex;       
        gridView.DataBind();
        gridView.Visible = true;
    }


..... se puder me ajudar, eu agradeço!!!

Bjs
Danny

Dassis
   - 09 jan 2008

Aí está o código.....

#Código

//Método que faz a busca
    protected void btnBuscar_Click(object sender, EventArgs e)
    {
        try
        {
            //Apaga a mensagem de erro, os botões e o grid caso já tenha sido efetuado alguma busca
            lblErro.Visible = false;
            gridView.Visible = false;            
            lblErroBusca.Visible = false;

            //Os métodos com a string de conexão e etc está no App_Code
            Usuarios obj = new Usuarios(); 
                 
            //Verificando o tipo de busca (A, B ou C)
            switch (ddlOpcoes.Text)
            {
                case "A":
                    gridView.DataSource = obj.RetornarDadosUsuarios(3, txtBusca.Text.ToUpper());                        
                    break;
                case "B":
                    //Validação de título?
                    gridView.DataSource = obj.RetornarDadosUsuarios(2, txtBusca.Text.ToUpper());
                    break;
                case "C":
                    if ((int.Parse(txtBusca.Text) <= 0) || (int.Parse(txtBusca.Text) > 55))
                    {
                        lblErroBusca.Text = "Valor incorreto!";
                        lblErroBusca.ForeColor = Color.Red;
                        lblErroBusca.Visible = true;
                    }
                    else
                    {
                        gridView.DataSource = obj.RetornarDadosUsuarios(1, txtBusca.Text.ToUpper());
                    }
                    break;
            }         
        
            gridView.DataBind();
            if (gridView.Rows.Count > 0)
            {                    
                gridView.Visible = true;
                btnExcluir.Visible = true;
            }                
            else
            {
                if ((gridView.Rows.Count == 0) && (lblErroBusca.Visible != true))
                {
                    lblErro.Text = "Sua busca não retornou resultados.";
                    lblErro.ForeColor = Color.Red;
                    lblErro.Visible = true;                    
                }
            }
        }        
        catch (Exception)
        {
            lblErro.Text = "Ocorreram erros ao efetuar a busca. Tente novamente em alguns minutos!";
            lblErro.ForeColor = Color.Red;
            lblErro.Visible = true;
        }
    }


    protected void gridView_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        gridView.PageIndex = e.NewPageIndex;       
        gridView.DataBind();
        gridView.Visible = true;
    }


..... se puder me ajudar, eu agradeço!!!

Bjs
Danny