Problema de lógica [manipulação de resultset]

Olá, bom dia.

Situação: recebo os dados com os nomes das colunas e com o rs numa página .vm e manipulo-os usando VTL.

Objetivo: fazer com que os dados se disponham da seguinte maneira na tabela

coluna1    coluna2    coluna3
dado1       dado2      dado3
coluna4    coluna5    coluna6
dado4      dado5       dado6

Consegui fazer um treco aqui, mas não ficou nada genérico:

#set( $contadorCol = 1 ) ##1 porque a primeira coluna é ID
#set( $contadorRs = 0 )
  <table>
    <tr>
      #foreach( $i in [1..5] )
        #foreach( $col in [1..5] )
          <th>$!action.getCols( $contadorCol )</th>
          #set( $contadorCol = $contadorCol + 1 )
        #end
        </tr><tr>
        #foreach( $i in [1..5] )
	        <td style="border: 1px #A6A6A6 solid;">$!action.getResultset( $contadorRs )</td>
          #set( $contadorRs = $contadorRs + 1 )
        #end
        </tr><tr>
      #end
    </tr>
  </table>

(nada genérico e extremamente horrendo)

Poréns: não quero juntar as colNames e o Rs num ArrayList só.

Dúvida: como fazer isso ficar mais bonitinho/decente/usável/não-vergonhoso?

Valeu!

Hmmm… um jeito de deixar a coisa mais bonitinha (faz um tempinho ja q eu nao mexo com velocity, talvez tenha algum erro de sintaxe, mas espero que pelo menos passe a ideia):

[code]#macro(bloco $coluna $linhas)

$coluna
#foreach($linha in $linhas)
$linha
#end
#end[/code]

#foreach($coluna in $colunas) #bloco($coluna, $foo.getLinhas($coluna)) #end

E o resto eh CSS :wink:

Ah, tipo, se ficar ruim de posicionar os blocos do jeito que vc mostrou, passe o velocityCount pra macro, mudando as duas primeiras linhas:

[code]#macro(bloco $count $coluna $linhas)

$coluna
#foreach($linha in $linhas)
$linha
#end
#end[/code]

Assim, voce pode fazer um estilo para bloco-0, bloco-1, bloco-2, e assim vai. :wink:

Valeu pelo reply cv :smiley:

Mas o tchan (…) da coisa é usar tabelas por motivos obscuros e secretos. POREM o seu reply me esclareceu uma coisa, talvez agora consiga fazer o treco direito \o/

mais uma marca no caderninho de debitos de cerveja

Consegui fazer bonito usando as macros \o/

Valeu cv :smiley:

Como ficou, afinal? O povo quer saber! :smiley:

hehe esqueci-me

#set( $countCol = 1 )
#set( $countRs = 1 )
#macro( macrodoPotter $index )
	<tr>
	#foreach( $i in [1..$index] )
		<th>
			$!action.getCols( $countCol )
		</th>
		#set( $countCol = $countCol + 1 )
	#end
	</tr>
	<tr>
	#foreach( $i in [1..$index] )
		<td>$!action.getResultset( $countRs )&nbsp;</td>
		#set( $countRs = $countRs + 1 )
	#end
	</tr>
#end

<table>
#foreach( $i in [1..5] )
	#macrodoPotter( 5 )
#end
</table>