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