Ajuda para montar Grid

Boa tarde pessoal, estou com dúvida para implementar uma grid, na qual eu terei 2 listas.
Uma lista popula o cabeçalho e a outra popula as linhas.

Estou enviando uma imagem do esboço do que preciso fazer.

Se alguém puder ajudar, desde já agradeço.

Cordialmente
Diego Silva


Esse tipo de tabela é chamado CrossTab. Mas explique melhor a situação: Seria uma Grid em um relatorio?(O Ireport tem um componente CrossTab), ou uma JTable numa tela Swing?(Só montar um tableModel) Ou é Grid numa pagina JSP?(Uma jogadinha para desenhar)

Qual a situação que essa CrossTab vai ser utilizada?

[quote=vtr002]Esse tipo de tabela é chamado CrossTab. Mas explique melhor a situação: Seria uma Grid em um relatorio?(O Ireport tem um componente CrossTab), ou uma JTable numa tela Swing?(Só montar um tableModel) Ou é Grid numa pagina JSP?(Uma jogadinha para desenhar)

Qual a situação que essa CrossTab vai ser utilizada?[/quote]

Opa… Esqueci de colocar qual a plataforma, é numa JSP, só que aqui na empresa o JSF ainda está na versão 1.2.

Você precisa de um component JSF com o funcionamento igual da JTable do swing, não manjo muito de JSF mas a ideia é mais ou menos ter um modelo para essa Table. Se não me engano no JSF voce tem que especificar coluna por coluna. Talvez tenha algum atributo que receba um modelo

Valeu pela dica amigo, vou tentar aqui!!!

Bom dia Caros amigos

Procurando no Google, encontrei algo: JSTL

Aí implementei assim:

<table border="1">
		<tr>
			<td>Veículos</td>
			<td>Data</td>
			<c:forEach var="lista" items="${chklst.sensores}">
				<td><c:out value="${lista.item.descricao}" /></td>
			</c:forEach>
			<td>Vencimento em</td>
		</tr>
</table>

O cabeçalho deu certo, só ficou faltando colocar o texto na vertical como na imagem em anexo ao tópico.
Até aí tudo bem, mas o problema vem agora…

<table border="1">
		<tr>
			<c:forEach var="lista" items="${chklst.veiculos}" begin="1"	end="1">
			     <td width="100"><c:out value="${lista.placa}" /></td>
		 	     <td width="49"><c:out value="${lista.dtCkl}" /></td>
			</c:forEach>
			<c:forEach var="lista" items="${chklst.veiculos}">
			     <td width="110"><c:out value="${lista.veiCkl.estado}" /></td>
			</c:forEach>
		</tr>
</table>

A minha lista tem 2 veículos, mas só está mostrando 1. Já tentei colocar um <c:forEach> antes da tag

mas aí ele duplica as linhas ficando com 8, pois cada veículo foi gravado 1 estado de cada vez. entendam meu SQL
SELECT V.PLACA, V.DTCKL,
CASE
 WHEN (CV.ESTADO = '1')
    THEN CAST('N' AS VARCHAR(20))
 WHEN (CV.ESTADO = '2')
    THEN CAST('D' AS VARCHAR(20))
 WHEN (CV.ESTADO = '3')
    THEN CAST('Ok' AS VARCHAR(20))
END ESTADO
     FROM TSVEICULO V

     LEFT JOIN PPESCLI C ON (C.EMPRESA = V.ESTABCLIENTE)  AND (C.CLIENTE = V.CLIENTE)
     LEFT JOIN TSCKLCLI CC ON (CC.IDCLIENTE = C.CLIENTE)
     LEFT JOIN TSITEMCKL IC ON (IC.IDITEMCKL = CC.IDITEMCKL)
     LEFT JOIN TSVEICULOCKL CV ON (CV.IDITEMCKL = CC.IDITEMCKL)
     AND (CV.IDVEICULO = V.IDVEICULO)
     WHERE (V.IDVEICULO > 0) AND (V.ATIVO <> 'N') AND (C.EMPRESA = 1000)
     AND (C.CLIENTE = 6) ORDER BY V.PLACA, CC.IDCKLCLI;

No caso cada veículo pode ter 1 ou mais estados dos sensores.

O que eu estou fazendo de errado?

Se alguém puder dar uma ajuda aí.
Desde já agradeço.
Olhem a imagem em anexo do meu tópico para vcs entenderem o q eu estou tentando fazer.

Cordialmente
Diego Silva

Ninguém teve o mesmo problema???

Alguém pode ajudar aí galera???