USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic .Net
Voltar
Autor Assunto:  Paginar um datagrid com DataAdapter e DataSet??
vilmarbr
Pontos: 2843
SAO PAULO
SP - BRASIL
Postada em 12/07/2004 15:27 hs         
Boa tarde,
Abaixo segue o código que estou usando p/ paginar um datagrid com DataAdapter e DataSet e eu não estou conseguindo acessar as outras páginas da paginação, me listando apenas a 1ª página. Já olhei em vários posts e artigos deste fórum e artigo do linhadecodigo.com.br e AINDA NÃO CONSEGUI FAZER ESTA PAGINAÇÃO FUNCIONAR NORMALMENTE como no ASP:
<<anterior  1 2 3 4 5 próximo>>
Só me aparece um sinal de menor < e outro de maior >, já olhei todas as propriedades do datagrid e ainda não notei qual mais devo alterar!
Segue o código:
Sub Page_Load(ByVal Sender as Object, ByVal E as EventArgs)
 Call ControleSessao() '>>Chamada a procedimento(método) p/ controle de sessão.
 Call MontarGrid() '>>Chamada a procedimento(método) p/ montar o datagrid.
End Sub
Sub MontarGrid()
 '>>INÍCIO: Abre conexão com BD.
 BDCli = TratarSaida(Convert.ToString(Session.Item("BDCli")))  'Trata a variável p/ saída.
 Provedor = System.Configuration.ConfigurationSettings.AppSettings("appConexao") & BDCli
 
 '>>INÍCIO: Tratamento de erro(exceção) na abertura da conexão.
 Try
  objConexao = New OleDbConnection(Provedor)
  objConexao.Open()
 Catch Excecao as OleDbException
  Response.Redirect("gestao_controle_sessao_fechar.asp")
 End Try
 '>>FIM: Tratamento de erro(exceção) na abertura da conexão. 
 '>>FIM: Abre conexão com BD.
 '>>Instrução SQL p/ pegar os dados a serem listados. 
 strSQL = "Select * from HT_DBGeral_DEmp order by EmCod"
 
 objDataAdapter = New OleDbDataAdapter(strSQL, objConexao)
 objDataAdapter.Fill(objDataSet, "HT_DBGeral_DEmp")
 dtgResultados.DataSource = objDataSet.Tables("HT_DBGeral_DEmp").DefaultView
 dtgResultados.DataBind()
End Sub
Sub dtgResultados_PageIndexChanged(ByVal source As System.Object, ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs)
 dtgResultados.CurrentPageIndex = e.NewPageIndex 'essa linha q vc procura neh?
 Call MontarGrid() '>>Chamada a procedimento(método) p/ montar o datagrid.
End Sub

<asp:DataGrid
 id="dtgResultados"
 AutoGenerateColumns="False"
 Width="100%"
 BackColor="#FFFFFF"
 BorderColor="black"
 ShowFooter="false"
 CellPadding="3"
 CellSpacing="0"
 Font-Name="Verdana"
 Font-Size="8"
 HeaderStyle-BackColor="#CCCCCC"
 OnItemDataBound="myItems_ItemDataBound"
 AllowPaging="true" AllowSorting="true" PageSize="10"
 runat="server">
 <Columns>
 <asp:HyperLinkColumn
     HeaderText="Código"
     DataTextField="EmCod"
     DataNavigateUrlFormatString="javascript:PassarValores('{0}');"
     DataNavigateUrlField="EmCod"
     ItemStyle-Font-Name="Verdana"
     ItemStyle-Font-Size="8"
     HeaderStyle-Font-Bold="true">
 </asp:HyperLinkColumn>
 <asp:BoundColumn
   DataField="EmNome"
   HeaderText="Nome"
   ItemStyle-Font-Name="Verdana"
   ItemStyle-Font-Size="8"
   HeaderStyle-Font-Bold="true">
 </asp:BoundColumn>
 </Columns>
</asp:DataGrid>

---------------
Grato,
Vilmar Brazão de Oliveira

http://www.vilmarbro.com.br
     
Me$$o HAL9000
Pontos: 2843
SÃO PAULO
SP - BRASIL
Postada em 14/07/2004 21:07 hs            
Vc precisa dar um bind e depois definir a pagina, aí deve funcionar, Abraçossssss

atte
 
Emerson Silva Emoções
.net Developer
     
vilmarbr
Pontos: 2843
SAO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 15/07/2004 12:30 hs         
Valeu emerson e quem mais tenha visitado o tópico. Vejam como ficou funcionando:
 
Sub Page_Load(ByVal Sender as Object, ByVal E as EventArgs)
 Call ControleSessao() '>>Chamada a procedimento(método) p/ controle de sessão.
 If Not Page.IsPostBack then
   'Temos que fazer a vinculação dos dados apenas na primeira vez que a página for carregada.
   'Cada subsequente postback tera a vinculação feita no evento dtgResultados_PageIndexChanged.
  Call MontarGrid() '>>Chamada a procedimento(método) p/ montar o datagrid.
 End If
End Sub
 
Sub MontarGrid()
 '>>INÍCIO: Abre conexão com BD.
 BDCli = TratarSaida(Convert.ToString(Session.Item("BDCli")))  'Trata a variável p/ saída.
 Provedor = System.Configuration.ConfigurationSettings.AppSettings("appConexao") & BDCli
 
 '>>INÍCIO: Tratamento de erro(exceção) na abertura da conexão.
 Try
  objConexao = New OleDbConnection(Provedor)
  objConexao.Open()
 Catch Excecao as OleDbException
  Response.Redirect("gestao_controle_sessao_fechar.asp")
 End Try
 '>>FIM: Tratamento de erro(exceção) na abertura da conexão. 
 '>>FIM: Abre conexão com BD.
 '>>Instrução SQL p/ pegar os dados a serem listados. 
 strSQL = "Select * from HT_DBGeral_DEmp order by EmCod"
 
 objDataAdapter = New OleDbDataAdapter(strSQL, objConexao)
 objDataAdapter.Fill(objDataSet, "HT_DBGeral_DEmp")
 dtgResultados.DataSource = objDataSet.Tables("HT_DBGeral_DEmp").DefaultView
 dtgResultados.DataBind()
End Sub
Sub dtgResultados_PageIndexChanged(ByVal source As System.Object, ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs)
 dtgResultados.CurrentPageIndex = e.NewPageIndex 'essa linha q vc procura neh?
 Call MontarGrid() '>>Chamada a procedimento(método) p/ montar o datagrid.
End Sub
 
        <asp:DataGrid
   id="dtgResultados" AutoGenerateColumns="False" Width="100%" BackColor="#FFFFFF"
   BorderColor="black" ShowFooter="False" CellPadding="3" CellSpacing="0" Font-Name="Verdana"
   Font-Size="8" HeaderStyle-BackColor="#CCCCCC" OnItemDataBound="myItems_ItemDataBound" OnPageIndexChanged="dtgResultados_PageIndexChanged"
   AllowPaging="True" AllowSorting="True" PageSize="16" runat="server">
   <Columns>
            <asp:HyperLinkColumn
     HeaderText="Código" DataTextField="EmCod"
        DataNavigateUrlFormatString="javascript:PassarValores('{0}');"
        DataNavigateUrlField="EmCod" ItemStyle-Font-Name="Verdana"
        ItemStyle-Font-Size="8" HeaderStyle-Font-Bold="True">
   </asp:HyperLinkColumn>
   <asp:BoundColumn
    DataField="EmNome" HeaderText="Nome" ItemStyle-Font-Name="Verdana"
    ItemStyle-Font-Size="8" HeaderStyle-Font-Bold="True">
   </asp:BoundColumn>
            <asp:BoundColumn
    DataField="EmCidade" HeaderText="Cidade" ItemStyle-Font-Name="Verdana"
    ItemStyle-Font-Size="8" HeaderStyle-Font-Bold="True">     
   </asp:BoundColumn>
            <asp:BoundColumn
    DataField="EmUF" HeaderText="UF" ItemStyle-Font-Name="Verdana"
    ItemStyle-Font-Size="8" HeaderStyle-Font-Bold="True">     
   </asp:BoundColumn>
            </Columns>
   <PagerStyle
    Font-Name="Verdana" Font-Size="8" NextPageText="&gt;&gt;Próximo" Mode="NumericPages">
   </PagerStyle>
  </asp:DataGrid>
 
aqui tem um exemplo completo usando apenas <<anterior.....próximo>>>

http://www.vilmarbro.com.br
   
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2026   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página