DataTable Horizontal no JSF

7 respostas
A

Olá amigos,

Estou enfrentando um problema para fazer uma dataTable horizontal… por exemplo: O sistema retona uma lista de nomes, para cada iteração, eu devo criar uma coluna…

Nome 1 | Nome 2 | Nome 3 |

Agraço
Abraços

7 Respostas

L

Um dataTable normal renderiza seus componentes filhos com a tags HTML

, e
. Portanto, isso foge do escopo do JavaServer Faces e entra no escopo do HTML.

É se se perguntarmos se existe uma maneira de renderizar, através de CSS ou até mesmo de JavaScript, um table de forma horizontal. Isso é algo que não sei.

O que eu posso dizer é que, se você estiver utilizando o Tomahawk, ou puder adicionar o jar deste na sua aplicação, pode usar a tag <t:dataList> para a renderização.

Dê uma olhada em http://myfaces.apache.org/tomahawk/dataList.html pra ver como funciona, e baixe em http://www.apache.org/dyn/closer.cgi/myfaces/binaries/tomahawk-1.1.6-bin.zip.

Até.

T

exato use o data list… Se fosse algum componente da família do SelectManyCheckbox, opor exemplo, vc teria o atributo layout=“PageDirection”…

A

Muito Obrigado amigos…

Abraços

D

Vamos reativar este post antigo! hehe

Assim como na época o aconstantino precisava fazer uma dataTable horizontal, eu também preciso fazer uma.
Estou utilizando RichFaces mais especificamante a tag rich:dataTable. mas só consegui fazer esta tag popular o banco de forma vertical.

A tabela fica assim:

Tipo de dado | Tipo de dado 2 | Tipo de dado 3

Nome 1 | Valor 2 |Outro valor1

Nome 2 |Valor 3 |Outro valor2

Nome 3 |Valor 4 |Outro valor3

E na verdade preciso que fique assim:

Tipo de dado 1 | Nome 1 | Nome 2 | Nome 3

Tipo de dado 2 | Valor 1 | Valor 1 | Valor 1 |

Tipo de dado 3 |Outro valor 1 | Outro valor 2 | Outro valor 3 |

Segue trecho do meu código:

<rich:dataTable cellspacing="0" id="tb_comparacao" value="#{clienteViewPB.listClientes}" var="cliente">
							<f:facet name="header">
								<rich:columnGroup>
									<rich:column styleClass="img_destacar" bgcolor="#FFFFFF"
										height="85">
										<img src="images/destacar.png" alt="xxxx" id="destacar_img" />
										<rich:spacer />
									</rich:column>	
									<rich:column width="203" height="35" bgcolor="#e4e6e7"
										scope="col" breakBefore="true">
										<h3>
											<h:outputText value="Características" />
										</h3>
									</rich:column>
								</rich:columnGroup>
							</f:facet>
							
								<rich:column height="35" bgcolor="#FFFFFF" >
									 <h:outputText value="Tipo de dado" />
								</rich:column>		
									 <h:outputText value="Nome" />
							
								</rich:column>
                <rich:column height="35" bgcolor="#FFFFFF" >
									 <h:outputText value="#{cliente.codigo}" />
								</rich:column>
								
								<rich:column height="35" bgcolor="#FFFFFF" >
									 <h:outputText value="#{cliente.nome}" />
								</rich:column>
								
								<rich:column height="35" bgcolor="#FFFFFF" >
									 <h:outputText value="#{cliente.telefone}" />
								</rich:column>
						</rich:dataTable>

Por favor digam que consigo fazer isso com o Rich !!!

A

Olá Danilo,

quando resolvi na época utilizei um datagrid mesmo, segue código:

&lt;a4j:form id="formAtividade"&gt;
								&lt;a4j:region id="regiaoIconesAtividade"&gt;
									
									&lt;rich:dataGrid styleClass="estiloListaAtividades" value="#{gisawebMapaForm.listaUsoTerraSelecionado}" border="0" cellpadding="0" cellspacing="0" columnClasses="estiloListaAtividades" rowClasses="estiloListaAtividades" var="itemUsoTerra" rendered="#{!empty gisawebMapaForm.listaUsoTerraSelecionado}" id="listaIconesAtividades" columns="10"&gt;
									
										&lt;a4j:commandButton image="#{itemUsoTerra.atividade.imagem.url}" style="border:none" alt="#{itemUsoTerra.atividade.descricao}" action="#{gisawebMapaForm.selecionarAtividade}" reRender="formInformacoes, formAtividade, labelAreaTotalTerraSelecionada, labelProducaoEsperada,labelProducaoEsperadaUNI, selecaoOperacao, listaOperacoes, lbTotalDespesas, labelRendaEsperada, labelMargemBruta, labelMargemBrutaPerc, formListaRelatorios, rgListaRelatorios, listaRelatorios,  formListaIndicadores, rgListaIndicadores, listaIndicadores, selecaoOperacao, listaAcoes"&gt;
											&lt;a4j:actionparam name="idAtividadeSelecionada" assignTo="#{gisawebMapaForm.idAtividadeSelecionada}" value="#{itemUsoTerra.atividade.id}" /&gt;
												
											&lt;a4j:actionparam name="idUsoTerraSelecionado" assignTo="#{gisawebMapaForm.idUsoTerraSelecionado}" value="#{itemUsoTerra.id}" /&gt;
										&lt;/a4j:commandButton&gt;
										
									&lt;/rich:dataGrid&gt;
								&lt;/a4j:region&gt;
							&lt;/a4j:form&gt;

detalhe: no seu caso serão apenas 3 columns

D

Ops, resposta no post errado!!

#fail :smiley:

D

Valeu pela ajuda aconstantino

Criado 25 de setembro de 2007
Ultima resposta 14 de abr. de 2011
Respostas 7
Participantes 4