Shopping Hospedagem Fórum Contato
     
   O portal do desenvolvedor ASP Florianópolis-SC, Quinta-feira - 21 de Setembro de 2017  
Busca

Menu do site
Efetuar Login
Usuário:

Senha:

 Esqueceu a senha?
Login automático

 Cadastre-se
Checkbox com paginação
Avaliações: 93   -   Minha nota: Média Geral: 3  
  
Vamos neste artigo aprender a criar um sistema de paginação de registros com a existencia de checkboxes, onde podemos selecionar apenas os registros desejados e utilizá-los posteriomente para qualquer finalidade.

Veja nas imagens abaixo como fica este exemplo:



Vamos então ao código:
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
54
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125

<html>
<head>
<title>Checkbox com paginação</title>
</head>
<style type="text/css">
.texto{
font-family: Arial;
font-size: 11px;
}
</style>
<body class="texto">
<font face="Arial" size="2">

<%
'Número de registros a serem exibidos por página
Const numreg = 5

'Declara as variáveis a serem usadas
Dim strCon, objCon, pg, objRS, strQ, total, i, selecionados, registros

'String de conexão para o banco de dados
strCon = "DBQ=D:\testes\checkbox_paginacao\base_de_dados.mdb;Driver={Microsoft Access Driver (*.mdb)};"

'Cria a conexao com a base de dados
Set objCon = Server.CreateObject("ADODB.Connection")
objCon.Open strCon

'Captura o numero da pagina atual
pg = Trim(Request.Form("pg") & " ")
If Not IsNumeric(pg) Then
  pg = 1
End If
pg = Int(pg)

If pg = 0 Then

  registros = ""
  total = Request.Form("total")
  For i = 1 to total
    If Trim(Request.Form("registros_pg" & i) & " ") <> "" Then
      registros = registros & Trim(Request.Form("registros_pg" & i) & " ") & ","
 End If
  Next
  registros = Replace(registros," ","")
  registros = Replace(registros,",,",",")
  If Trim(registros) <> "" Then
   'Captura apenas os registros selecionados
    strQ = Replace(registros,","," OR id=")
    strQ = "SELECT * FROM produtos WHERE id=" & strQ & "0 ORDER BY nome ASC"
    Set objRS = objCon.Execute(strQ)
    If Not objRS.EOF  Then
      Response.Write "Veja os produtos selecionados:<br><br><font color='steelblue'>"
   While Not objRS.EOF
     Response.Write "- <b>" & objRS("nome") & "</b><br>"
     objRS.MoveNext
   Wend
   Response.Write "</font>"
    End If
  Else
    Response.Write "Nenhum registro foi selecionado"
  End If

Else

  Response.Write "<form name='form_paginacao' method='post' action='" & Request.ServerVariables("SCRIPT_NAME") & "'>"
  Set objRS = Server.CreateObject("ADODB.Recordset")
  objRS.CursorLocation = 3
  objRS.CursorType = 3
  objRS.LockType = 1
  objRS.CacheSize = numreg
  strQ = "SELECT * FROM produtos ORDER BY nome ASC"
  objRS.Open strQ, objCon, , , &H0001
  objRS.PageSize = numreg
  If Not objRS.EOF  Then
    Response.Write "<font color='steelblue'><b>Selecione os produtos desejados</b></font><br>"
    objRS.AbsolutePage = pg
    total = objRS.PageCount
    For i = 1 to objRS.PageSize
      Response.Write "<input name='registros_pg" & pg & "' type='checkbox' value='"
      Response.Write objRS("id") & "'"
   selecionados = Trim( Request("registros_pg" & pg) & " ")
   selecionados = Replace(selecionados," ","")
   selecionados = "," & selecionados & ","
      If InStr("," & selecionados, "," & objRS("id") & ",") > 0 Then Response.Write " checked"
      Response.Write ">"
      Response.Write objRS("nome")
      Response.Write "<br>"
      objRS.MoveNext
      If objRS.Eof then Exit For
    Next
    objRS.Close
  Else
    Response.Write "Nenhum produto encontrado"
  End If

  Response.Write "<input name='pg' type='hidden' value='" & pg & "'>"
  Response.Write "<input name='total' type='hidden' value='" & total & "'>"
  For i = 1 to total
    If i <> pg Then Response.Write "<input name='registros_pg" & i & "' type='hidden' value='" & Request.Form("registros_pg" & i) & "'>"
  Next

  Response.Write "<br>Página " & pg & " de " & total
  Response.Write "<br>"
  If pg > 1 Then
    Response.Write "<img src='anterior.gif' border=0 align=absmiddle onClick='form_paginacao.pg.value=" & pg-1 & "; form_paginacao.submit()' style='cursor: hand'>"
  Else
    Response.Write "<img src='anterior_no.gif' border=0 align=absmiddle>"
  End If
  If total > pg Then
    Response.Write "<img src='proxima.gif' border=0 align=absmiddle onClick='form_paginacao.pg.value=" & pg+1 & "; form_paginacao.submit()' style='cursor: hand'>"
  Else
    Response.Write "<img src='proxima_no.gif' border=0 align=absmiddle>"
  End If
  If pg = total Then
    Response.Write "<br><br><img src='enviar.gif' border=0 align=absmiddle onClick='form_paginacao.pg.value=0; form_paginacao.submit()' style='cursor: hand'>"
  End If
  Response.Write "</form>"
End If
objCon.Close
%>

</font>
</body>
</html>


Clique aqui e faça download do código


Contribuição para este código:

Setembrino Luza
nino_luza@hotmail.com

Fabiano Dias
fabiano@superasp.com.br

www.superasp.com.br
O portal do desenvolvedor ASP




SuperASP do Brasil Ltda

03.066.522/0001-84
Av. Rio Branco 433 - Centro - Florianopolis - SC
Contato

© 2001/2008 - Superasp do Brasil Ltda. Todos os direitos reservados