Ir ao conteúdo
  • Cadastre-se

Asp Again


neldergalvao

Posts recomendados

Olá...gostaria primeiro de agradecer a todos pelas resiluções de dúvidas. Sou mt grato a todos vocês !

Gostaria de saber como faço isso:

uma página que exibe os resultados e tem links para outras que não deram na mesma (acho q fui confuso)

TIPO ASSIM:

anterior << 3 4 5 6 7 >> proxima

mas como isso é feito? hÁ uma delimitação de conteúdo para que exista uma continuidade?

Bom, se fui muito confuso me digam q tentarei esclarecer...valeu

NGJ

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Você quer é fazer um controle de Paginação em ASP, é isso?

Bom, basicamente você vai usar as propriedades PageSize (para passar a quantidade de registros por página) e AbsolutePage (para indicar qual página será exibida). Essas são propriedades do ADODB.Recordset.

Os valores para essas propriedades você terá que ir passando de uma página para outra por QueryString.

Por exemplo, vou passar apenas um trecho de código onde pode ser implementada a paginação de Recordset. Veja o código e tente aplicar na sua página:

Dim ObjetoRecordset, Erro

Dim PaginaAtual, Registros, ContadorRegistro

Dim Primeira, Anterior, Proxima, Ultima

'--------------------------------------------------

'O número da página atual e registros são definidos neste ponto

'--------------------------------------------------

PaginaAtual = Request.QueryString("PA")

If PaginaAtual = "" Then PaginaAtual = 1

Registros= Request.QueryString("RE")

If Registros= "" Then Registros= 10

'--------------------------------------------------

Set ObjetoRecordset = Server.CreateObject("ADODB.Recordset")

With ObjetoRecordset

    '--------------------------------------------------

    'Aqui estou supondo que você tem uma conexão aberta com um banco de dados

    .ActiveConnection = VariavelConexao

    '--------------------------------------------------

    .CursorType = adOpenForwardOnly

    .CursorLocation = adUseClient

    .LockType = adLockReadOnly

    .Open "SELECT * FROM Tabela;", , , , adCmdText

    If Not .EOF And Not .BOF Then

        .PageSize = Registros

        .AbsolutePage = PaginaAtual

        Erro = True

    Else

        Response.Write "<html><head></head><body>Não há resultados para essa consulta</body></html>"

        Erro = False

    End If

End With

If Erro = False Then

    Do While Not ObjetoRecordset.EOF And ContadorRegistro < ObjetoRecordset.PageSize

        '--------------------------------------------------

        'Aqui você vai preenchendo a tabela com os dados

        'Suponho que você saida como fazer...

        '--------------------------------------------------

        'Essa variável diz quando o limite da página é alcançado

        ContadorRegistro = ContadorRegistro + 1

        ObjetoRecordset.MoveNext

    Loop

    '--------------------------------------------------

    'Links de navegação

    'Aqui você forma os links com QueryString para paginação

    '--------------------------------------------------

    If Not (PaginaAtual = 1) Then

        Primeira = Chr(34) & "MinhaPagina.asp?PA=1&RE=" & Registros & Chr(34)

        Anterior = Chr(34) & "MinhaPagina.asp?PA=" & PaginaAtual - 1 & "&RE=" & Registros & Chr(34)

        Response.Write "Primeira Anterior"

    End If

   

    If Not (CLng(PaginaAtual) = ObjetoRecordset.PageCount) Then

   

        Proxima = Chr(34) & "MinhaPagina.asp?PA=" & PaginaAtual + 1 & "&RE=" & Registros & Chr(34)

        Ultima = Chr(34) & "MinhaPagina.asp?PA=" & ObjetoRecordset.PageCount & "&RE=" & Registros & Chr(34)

        Response.Write "Próxima Última"

    End If

    '--------------------------------------------------

End If

É + ou - isso...

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...