Ir para conteúdo

POWERED BY:

Arquivado

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

FabianoBSB

[Resolvido] Dividir tabela de acordo com recordcount

Recommended Posts

Bom dia!!!

Tenho uma dúvida com um select em asp, preciso saber se tem como dividir uma tabela de acordo com o tamanho dos registros encontrados. Ex: O usuário fez uma busca no banco e retornou 45 registros, so que eu quero que esses registros se dividam em 3 tabelas de 15 ou seja toda vez que o resultado for maior que 15 essa tabela se divida!! Tem como???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ja tenho paginação no sistema, o que eu quero é dividir justamente essa paginação na mesma tela. A minha paginação esta limitada a somente 15 registros, ela tem links para a próxima página e funciona tranquilo so que na hora de visualizar na tela inteira queria que dividissem em tabelas limitadas a 15 registros separadamente !!

 

EX:

 

Pagina 1

15 de 45

______________________________

_______|________|__________|__

_______|________|__________|__

_______|________|__________|__

_______|________|__________|__

_______|________|__________|__

_______|________|__________|__

_______|________|__________|__

 

Pagina 2

30 de 45

______________________________

_______|________|__________|__

_______|________|__________|__

_______|________|__________|__

_______|________|__________|__

_______|________|__________|__

_______|________|__________|__

_______|________|__________|__

 

Página 3

45 de 45

 

______________________________

_______|________|__________|__

_______|________|__________|__

_______|________|__________|__

_______|________|__________|__

_______|________|__________|__

_______|________|__________|__

_______|________|__________|__

 

E por ai vai dependendo do tanto de registros encontrados

abraços!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exatamente!!! e dependendo do resultado a tabela se didiria em várias tabelas de quinze registros so que na mesma página, e acima de cada tabela nome das páginas.

Ex: Pag 1 de Tanto, Pag 2 de tanto, Pag 3 de tanto e assim vai... como fiz acima. Valew(Lembrando que ja tenho a tabela so que ela me da o resultado de todos os registros da busca)

Compartilhar este post


Link para o post
Compartilhar em outros sites

no codigo de sua paginação, deve ter um loop onde ele exibe os resultados, dentro desse loop, onde está os dados do bd, você coloca antes deles as tags da tabela:

response.write "<tr><td>" & rs("nome") & "</td><td>" & rs("endereco") ....

antes do loop você coloca a tag <table> e depois do loop </table>

 

Na parte de cima da tabela ou onde exibe as paginas, coloca o total delas, deve ter uma variavel que totaliza as paginas em alguma parte da paginação.

Ficaria assim

response.write "<table><tr><td>pagina" &page& "de" &total& "</td></tr>"
inicio do loop
....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ja tenho a tabela desenhada, bom vou postar o codigo!!

 

<!--#include file="valida_login.asp" -->


<%
Set Conn = Server.CreateObject("ADODB.Connection") 

Conn.provider ="Microsoft.Jet.OLEDB.4.0" 
Conn.connectionstring=Server.Mappath("banco.mdb")
Conn.open
consulta = Request.QueryString("busca")
Set RS = Server.CreateObject("ADODB.Recordset") 
sql= " SELECT * FROM bemdecapital WHERE nr like '" & consulta & "%' OR NotaUltNmm LIKE '" & consulta & "%' OR Situação LIKE '" & consulta & "%' or Tipo like '" & Consulta & "%' or palchave like '" & Consulta &"%' Order by nr, Notaultnmm asc"


RS.Open SQL, conn, 3,3
If RS.EOF Then
Response.Write("<B><background=""Imagens/body.png"">")
Response.Write("<B><font color=""#247AC7"" size=""2"" face=""Arial"">")
Response.Write "O Registro de Número " & Consulta & " Não foi encontrado!<br>"
Response.Write("<a href=javascript:history.back(-1)><br><br>Voltar</a>")
Response.Write("</font></B> ")
Response.Write("</body></B> ")
Response.End()
End If
%>


<html>
<script language="JavaScript">
function visualizarImpressao(){
var Navegador = '<object id="Navegador1" width="0" height="0" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></object>';
document.body.insertAdjacentHTML('beforeEnd', Navegador);
Navegador1.ExecWB(7, 1);
Navegador1.outerHTML = "";
}
</script>



<%


Const NumPorPage = 15
Dim PagAtual

IF Request.QueryString("PagAtual") = "" Then
PagAtual = 1 
Else
PagAtual = Request.QueryString("PagAtual")
End If

RS.CacheSize = NumPorPage 

RS.MoveFirst 
RS.PageSize = NumPorPage 

Dim TotalPages 
TotalPages = rs.pagecount

RS.AbsolutePage = PagAtual 


Count = pagecount 
i = 0 
Response.write pagesize

%>




<head>

<title>Sistema de Cadastro de Patrimônio (Impressão)</title>

<link REL="stylesheet" href="Estilo/style.css" type="text/css">
<!--[if IE]>
<link REL="stylesheet" href="include/styleIE.css" type="text/css">
<![endif]-->
<style> 
.grid_block {  
margin-top:5px;
border-collapse: collapse;
align:center;
width:95%;
border:none;
} 
.grid_block td { 
padding: 5px; 
margin: 0px; 
border: solid black 1px;
}
.grid_block .gridspacing {width:20px;border-top-color:white; border-bottom-color:white;background-color:white}
@media print 
{
a.pdf {display:none}
}
.printpage {page-break-after:always}
#selpage{margin-left:30px;}
</style> 
</head>
<body style="background-color:white">
<body onLoad="visualizarImpressao();"> 


		<script type="text/javascript" language="JavaScript">
			window.debugMode = false;
		</script>


   <h1 align="center">Relação de Bens CPRM-SEDE</h1>







 <table align="center" cellpadding=5 class="grid_block">

           <tr>


               <td>

<b>NR</b>

               </td>


               <td>

<b>Palavra Chave</b>

               </td>


               <td>

<b>Nt Última NMM</b>

               </td>


               <td>

<b>Dt Última NMM</b>

               </td>


               <td>

<b>C.CPróprio</b>

               </td>


               <td>

<b>Dt Inclusão Ativo</b>

               </td>


               <td>

<b>Valor Org do Bem</b>

               </td>


               <td>

<b>Valor Res do Bem</b>

               </td>


               <td>

<b>Str Localização</b>

               </td>


               <td>

<b>Numero de serie</b>

               </td>


               <td>

<b>Nota Fiscal</b>

               </td>


               <td>

<b>Nota Empenho</b>

               </td>


               <td>

<b>Tipo</b>

               </td>


               <td>

<b>Situação</b>

               </td>



           </tr>

<%DO WHILE NOT RS.EOF%>
           <tr valign=top>


               <td>

                   <p><font size="1" face="Verdana" color="#1F497D"><%Response.Write rs("NR")%>  </font></td>


               <td>
                   <p><b><font size="1" face="Verdana,Arial" color="#1F497D"><%Response.write RS("palchave")%> </font></b></p>
               </td>


               <td>
                   <p><b><font size="1" face="Verdana,Arial" color="#1F497D"><%Response.write RS("notaultnmm")%></font></b></p>
               </td>


               <td>
                   <p><b><font size="1" face="Verdana,Arial" color="#1F497D"><%Response.write RS("dataultnmm")%></font></b></p>
               </td>


               <td>
                   <p><b><font size="1" face="Verdana,Arial" color="#1F497D"><%Response.write RS("CCpróprio")%></font></b></p>
               </td>


               <td>
                   <p><b><font size="1" face="Verdana,Arial" color="#1F497D"><%Response.write RS("dtaincativo")%></font></b></p>
               </td>


               <td>
                   <p><b><font size="1" face="Verdana,Arial" color="#1F497D"><%Response.write RS("valororbem")%></font></b></p>
               </td>


               <td>
                   <p><b><font size="1" face="Verdana,Arial" color="#1F497D"><%Response.write RS("valorresbem")%></font></b></p>
               </td>


               <td>
                   <p><b><font size="1" face="Verdana,Arial" color="#1F497D"><%Response.write RS("strloc")%></font></b></p>
               </td>


               <td>
                   <p><b><font size="1" face="Verdana,Arial" color="#1F497D"><%Response.write RS("numeroserie")%></font></b></p>
               </td>


               <td>
                   <p><b><font size="1" face="Verdana,Arial" color="#1F497D"><%Response.write RS("notafiscal")%></font></b></p>
               </td>


               <td>
                   <p><b><font size="1" face="Verdana,Arial" color="#1F497D"><%Response.write RS("nota_empenho")%></font></b></p>
               </td>


               <td>
                   <p><b><font size="1" face="Verdana,Arial" color="#1F497D"><%Response.write RS("tipo")%></font></b></p>
               </td>


               <td>
                   <p><b><font size="1" face="Verdana" color="#1F497D"><%Response.write RS("situação")%></font></b></td>



           </tr>


<%          
RS.MoveNext
LOOP 
%>




           <!-- totals row -->
       </table>



</body>
</html>

 

 

Dessa forma a tabela é imprimida na tela integral com todos os registros, e eu quero que a cada 15 registro ela se separe!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

pelo que entendi quer dividir a tabela mas que apareça tudo na mesma página, para isso não precisa usar paginação, use uma linha com um altura mais alta e já dá a entender que a tabela vai dividida

 

<tr><td colspan="14" style="height:50px;"><hr /></td></tr>

conta = 1
DO WHILE NOT RS.EOF
conta = conta + 1
if conta = 15 then
response.write "<tr><td colspan="14" style="height:50px;"><hr /></td></tr>"
conta = 1
end if
RS.MoveNext
LOOP 

 

não tive tempo para testar...

Compartilhar este post


Link para o post
Compartilhar em outros sites

pelo que entendi quer dividir a tabela mas que apareça tudo na mesma página, para isso não precisa usar paginação, use uma linha com um altura mais alta e já dá a entender que a tabela vai dividida

 

<tr><td colspan="14" style="height:50px;"><hr /></td></tr>

conta = 1
DO WHILE NOT RS.EOF
conta = conta + 1
if conta = 15 then
response.write "<tr><td colspan="14" style="height:50px;"><hr /></td></tr>"
conta = 1
end if
RS.MoveNext
LOOP 

 

não tive tempo para testar...

Cara não deu certo. Eu sei que tem como fazer com CSS mas eu não quero, quero fazer via programação mesmo, vou tentar do meu jeito se eu conseguir posto aqui como eu fiz, valeu pela ajuda!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

a paginação simples, apenas limitando o número de registros e depois você os dispõe na tabela, com um contador exibindo apenas 15 e cria uma outra tabela para os demais

Compartilhar este post


Link para o post
Compartilhar em outros sites

a paginação simples, apenas limitando o número de registros e depois você os dispõe na tabela, com um contador exibindo apenas 15 e cria uma outra tabela para os demais

Acho que não entendi, terei que fazer dois loops então???

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.