Jump to content


Photo

Quebra De Colunas Na Tabela


  • Faça o login para participar
6 replies to this topic

#1 acooper

acooper

    Ativo

  • Usuários
  • 368 posts
  • Sexo:Masculino
  • Localidade:Recreio dos Bandeirantes

Posted 15/06/2005, 18:03

Caros, já tenho um código onde a cada 5 registros na linha( <td> </td>), mudo de linha (<tr> </tr>)
Exemplo:
Linha1: (01) (02) (03) (04) (05)
Linha2: (06) (07) (08) (09) (10)

////////////////////// Código ///////////////////////////////
<%
conta = 0
Do While ( OraDynaset.Eof = False )
IF conta = 0 THEN
Response.Write "<td align=center bgcolor=#000066 height=20>"
ELSE
Response.Write "</td>"
END IF
%>
<tr>
<td width="100%" height="20">
<% Response.Write (OraDynaset.Fields("FUNCNOME")) %>
</td>
<td align="center">
<% Response.Write (OraDynaset.Fields("FUNC_TX_RAMAL")) %>
</td>
</tr>
<%
Response.Write "<tr align=center bgcolor=#000066 height=20>"
conta = conta + 1
If conta = 5 Then ' Definimos a Quantidade de colunas
Response.Write "</tr>"
conta = 0
End If
OraDynaset.MoveNext
Loop
OraDynaset.close
Set OraDynaset = Nothing
%>

Sendo que agora estou querendo o seguinte:
Tenho uma Tabela <table></table>
Com 2 colunas, exemplo
(Nome) (Ramal)
Eu quero que para 10 linha de registro nas colunas (Nome) (Ramal) , a 11ª linha de registro seja nas próximas colunas (Nome) (Ramal) geradas conforme os próximos registros.
Andre Figueiredo
Analista de Sistema Senior
Tel.: + 55 - (21) 3824-4698- Cel: + 55 - (21) 9127-2772
E-Mail: andre.figueiredo@veirano.com.br
Skype: andre.figueiredo.veirano.com.br

#2 edmais

edmais

    Just do it!

  • Usuários
  • 797 posts
  • Sexo:Não informado
  • Localidade:BH - MG

Posted 15/06/2005, 19:29

Nossa, isso vai gerar processamento, mas vamos lá..

<%
i = 1

Do While Not Rs.Eof
Matriz(i) = Rs("campo")
i = i + 1
Rs.Movenext
Loop
%>

Pronto, dessa forma, você já tem sua matriz.
Agora precisamos mostrá-la em uma tabela.

Então..

<table>
<%
controle = 10
for i = 1 to Ubound(Matriz)
Response.write("<tr><td>" & Matriz(i) & "</td><td>" & Matriz(i + 10) & "</td></tr>" & Vbcrlf)

if cint(i) = Cint(controle) then
i = i + 10
controle = controle + 20
End if
Next
%>
</table>

Simples, não? Basta dar uma pensada.

Fiz rapidão aqui, nem testei nem nada, qualquer erro que der, posta ae.

[]'s
Eduardo Batista

#3 acooper

acooper

    Ativo

  • Usuários
  • 368 posts
  • Sexo:Masculino
  • Localidade:Recreio dos Bandeirantes

Posted 15/06/2005, 19:56

Então vai.

Microsoft VBScript runtime error '800a000d'
Type mismatch: 'Matriz'

/html/tecnologia/ramais_open_excel_.asp, line 60

Line 60 Matriz(i) = (OraDynaset.Fields("FUNCNOME"))

Edição feita por: acooper, 15/06/2005, 19:57.

Andre Figueiredo
Analista de Sistema Senior
Tel.: + 55 - (21) 3824-4698- Cel: + 55 - (21) 9127-2772
E-Mail: andre.figueiredo@veirano.com.br
Skype: andre.figueiredo.veirano.com.br

#4 edmais

edmais

    Just do it!

  • Usuários
  • 797 posts
  • Sexo:Não informado
  • Localidade:BH - MG

Posted 15/06/2005, 20:03

Perdão.


Testa isso antes do Do While:
Dim Matriz(Rs.Recordcount)

Se não der, vc vai precisar fazer um SELECT COUNT Antes de mais nada, pra pegar o total de registros, e jogar na declaração de matriz, entendeu?

SQL = "SELECT COUNT(CAMPO) AS TOTAL FROM TABELA WHERE CAMPO=VARIAVEL"
SET RS = CONN.EXECUTE(SQL)

IF NOt RS.Eof or Not RS.Bof Then
Dim Matriz(RS("TOTAL"))

'Faz o select denovo pra mostrar os dados e poe o resto da rotina

End if



Att.
Eduardo Batista

#5 acooper

acooper

    Ativo

  • Usuários
  • 368 posts
  • Sexo:Masculino
  • Localidade:Recreio dos Bandeirantes

Posted 16/06/2005, 15:23

Caro, continua com o mesmo erro, estou quebrando a cabeça até agora com o seu código é o meu antigo.
Andre Figueiredo
Analista de Sistema Senior
Tel.: + 55 - (21) 3824-4698- Cel: + 55 - (21) 9127-2772
E-Mail: andre.figueiredo@veirano.com.br
Skype: andre.figueiredo.veirano.com.br

#6 edmais

edmais

    Just do it!

  • Usuários
  • 797 posts
  • Sexo:Não informado
  • Localidade:BH - MG

Posted 16/06/2005, 15:26

Manda o seu do jeito que tá e a linha com erro, que eu conserto mais a noite. Mandae. :)
Eduardo Batista

#7 acooper

acooper

    Ativo

  • Usuários
  • 368 posts
  • Sexo:Masculino
  • Localidade:Recreio dos Bandeirantes

Posted 16/06/2005, 15:53

Cara, estou com o seguinte código, sendo que não está redondo, está imprimindo da seguinte forma:
(01)(02)(03)
(04)(05)(06)
Sendo que estou querendo da seguinte forma:
(01)(03)(05)
(02)(04)(06)

////////////////////////CÓDIGO //////////////////////////
<table border="0" cellpadding="0" background="../../integracao/imagens/fundo_verde2.gif" class="headline_texto" align="center">
<tr bgcolor="CCCC99">
<td align="center" height="20">Nome</td>
<td align="center" height="20">Ramal</td>
<td align="center" height="20">Nome</td>
<td align="center" height="20">Ramal</td>
<td align="center" height="20">Nome</td>
<td align="center" height="20">Ramal</td>
</tr>
<%
x = 3
i = 1
DO WHILE NOT OraDynaset.eof
IF i = x+1 THEN
x = x + 3
Response.Write("<tr>")
END IF

Response.write("<td bgcolor=""#FFFFFF"" height=""20"">" & OraDynaset.Fields("FUNCNOME") & "</td>" & Vbcrlf)
Response.write("<td bgcolor=""#FFFFFF"" height=""20"">" & OraDynaset.Fields("FUNC_TX_RAMAL") & "</td>" & Vbcrlf)
i = i + 1
OraDynaset.MoveNext
Loop
OraDynaset.close
Set OraDynaset = Nothing
%>
</tr>
</table>

Edição feita por: acooper, 16/06/2005, 16:45.

Andre Figueiredo
Analista de Sistema Senior
Tel.: + 55 - (21) 3824-4698- Cel: + 55 - (21) 9127-2772
E-Mail: andre.figueiredo@veirano.com.br
Skype: andre.figueiredo.veirano.com.br




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq