ERRO GRIDVIEW
Pessoal estou com um problema que não consigo achar solução.
tenho um grid com numero de paginas em baixo dele, mais quando clico para ir para a segunda pagina da um erro.
tenho um grid com numero de paginas em baixo dele, mais quando clico para ir para a segunda pagina da um erro.
A mensagem de erro diz:
O GridView [Ô]GridForm[Ô], disparou o evento PageIndexChanging que não foi feito...
O seu gridview, deve conter o código do que deve ser feito quando trocar de página. Clique no grid, em modo de desenvolvimento e vá na aba de eventos dele. Lá deve existir um chamado [Ô]PageIndexChanging[Ô]. Dê duplo clique nele e escreva o código que deve ser executado quando trocar de página.
O GridView [Ô]GridForm[Ô], disparou o evento PageIndexChanging que não foi feito...
O seu gridview, deve conter o código do que deve ser feito quando trocar de página. Clique no grid, em modo de desenvolvimento e vá na aba de eventos dele. Lá deve existir um chamado [Ô]PageIndexChanging[Ô]. Dê duplo clique nele e escreva o código que deve ser executado quando trocar de página.
entao eu coloquei um bloco try para ver o erro.
mais apos isso não ocorreu mais.
mais quando clico na segunda pagina não acontece nada, permanece na primeira.
mais apos isso não ocorreu mais.
mais quando clico na segunda pagina não acontece nada, permanece na primeira.
é como eu falei, o controle de página é feito no codebehind, no evento PageIndexChanged, nele você deve fazer o código necessário para que o grid exiba os registros da página que o usuário escolheu...
estou fazendo assim para popular o grid
Public Function AtualizaDados(ByVal Sql As String) As DataTable
Dim da As New SqlDataAdapter(Sql, strConn)
Dim dt As New DataTable()
da.Fill(dt)
Return dt
End Function
e chamo ele assim
Private Sub AtualizaGrid()
Dim Dt As DataTable
Dim Sql As String
If TFiltro.Text = [Ô][Ô] Then
Sql = [Ô]SELECT CESTA_ID, DESCRICAO, VALOR FROM CESTA WHERE DELETADO = [ô]NÃO[ô] AND [Ô] & FiltroEmpresas & [Ô] ORDER BY DESCRICAO[Ô]
Dt = AtualizaDados(Sql)
Else
Sql = [Ô]SELECT CESTA_ID, DESCRICAO, VALOR FROM CESTA WHERE DELETADO = [ô]NÃO[ô] AND [Ô] & CCampo.SelectedValue & [Ô] LIKE [ô][Ô] & TFiltro.Text.ToUpper & [Ô]%[ô] ORDER BY DESCRICAO[Ô]
Dt = AtualizaDados(Sql)
End If
GridForm.DataSource = Dt
GridForm.DataBind()
End Sub
que codigo tenho que colocar no evento PageIndexChanged?
Public Function AtualizaDados(ByVal Sql As String) As DataTable
Dim da As New SqlDataAdapter(Sql, strConn)
Dim dt As New DataTable()
da.Fill(dt)
Return dt
End Function
e chamo ele assim
Private Sub AtualizaGrid()
Dim Dt As DataTable
Dim Sql As String
If TFiltro.Text = [Ô][Ô] Then
Sql = [Ô]SELECT CESTA_ID, DESCRICAO, VALOR FROM CESTA WHERE DELETADO = [ô]NÃO[ô] AND [Ô] & FiltroEmpresas & [Ô] ORDER BY DESCRICAO[Ô]
Dt = AtualizaDados(Sql)
Else
Sql = [Ô]SELECT CESTA_ID, DESCRICAO, VALOR FROM CESTA WHERE DELETADO = [ô]NÃO[ô] AND [Ô] & CCampo.SelectedValue & [Ô] LIKE [ô][Ô] & TFiltro.Text.ToUpper & [Ô]%[ô] ORDER BY DESCRICAO[Ô]
Dt = AtualizaDados(Sql)
End If
GridForm.DataSource = Dt
GridForm.DataBind()
End Sub
que codigo tenho que colocar no evento PageIndexChanged?
Mais ou menos assim(fiz de cabeça e não sei se tem ou não algum erro de sintaxe)
Dim gv as GridView = (GridView)sender;
Dim dv as DataView = gv.DataSource as DataView;
Dim dataTable as DataTable = dv.Table;
if TFiltro.Text = [Ô][Ô] Then
Sql = [Ô]SELECT CESTA_ID, DESCRICAO, VALOR FROM CESTA WHERE DELETADO = [ô]NÃO[ô] AND [Ô] & FiltroEmpresas & [Ô] ORDER BY DESCRICAO[Ô]
Dt = AtualizaDados(Sql)
Else
Sql = [Ô]SELECT CESTA_ID, DESCRICAO, VALOR FROM CESTA WHERE DELETADO = [ô]NÃO[ô] AND [Ô] & CCampo.SelectedValue & [Ô] LIKE [ô][Ô] & TFiltro.Text.ToUpper & [Ô]%[ô] ORDER BY DESCRICAO[Ô]
Dt = AtualizaDados(Sql)
End If
gv.DataSource = Dt
gv.PageIndex = e.NewPageIndex
gv.DataBind()
Dim gv as GridView = (GridView)sender;
Dim dv as DataView = gv.DataSource as DataView;
Dim dataTable as DataTable = dv.Table;
if TFiltro.Text = [Ô][Ô] Then
Sql = [Ô]SELECT CESTA_ID, DESCRICAO, VALOR FROM CESTA WHERE DELETADO = [ô]NÃO[ô] AND [Ô] & FiltroEmpresas & [Ô] ORDER BY DESCRICAO[Ô]
Dt = AtualizaDados(Sql)
Else
Sql = [Ô]SELECT CESTA_ID, DESCRICAO, VALOR FROM CESTA WHERE DELETADO = [ô]NÃO[ô] AND [Ô] & CCampo.SelectedValue & [Ô] LIKE [ô][Ô] & TFiltro.Text.ToUpper & [Ô]%[ô] ORDER BY DESCRICAO[Ô]
Dt = AtualizaDados(Sql)
End If
gv.DataSource = Dt
gv.PageIndex = e.NewPageIndex
gv.DataBind()
é acho que ficou meio misturado vb com c#.
Tópico encerrado , respostas não são mais permitidas