Datatable no JSF

8 respostas
X

Boa noite amigos!

Eu estou com uma tela onde dependendo do que é escolhido em uma combo a próxima tela exibida vai apresentar uma datatable com ou sem uma coluna em específico. Isso é o que deveria acontecer, mas não sei como posso fazer isso. Alguém poderia dar uma luz?? Se for necessário utilizar javascript, poderia indicar como exatamente devo proceder, onde devo colocar o código…e assim por diante?

Muito obrigado!

8 Respostas

D

Por que vc não seta uma variável booleana conforme a escolha no combobox e depois não coloca esta variavel como condição para renderizar esta coluna da datable.
Assim:

<h:column rendered="SeuManagedBean.suaVariavelBooleana"> <f:facet name="reader"> <h:outputText value="Codigo"/> </f:facet> <h:outputText value="#{cidade.id}"></h:outputText> </h:column>.
Era isto que vc queria???

D

Se não der certo , posta ai.

A

Daniel,

vc está querendo criar tabela dinamica, segue um link ensinando como fazer:
https://jira.jboss.org/jira/browse/RF-3364;jsessionid=9FEC6C30D3A56EA1A345E11CD49B1335?page=com.atlassian.jira.plugin.system.issuetabpanels%3Achangehistory-tabpanel

Espero que ajude.

X

Muito obrigado Daniel! Consegui resolver com sua dica! :smiley:
Era isso mesmo que eu precisava e não sabia como proceder…

Forte abraço!

X

Surgiu outra dúvida!!!

Minha DataTable é preenchida com um datamodel. Existe uma coluna onde estou exibindo o valor “item.matricula”. Acontece que eu preciso exibir em outra coluna o nome referente a essa matrícula. Para isso eu preciso buscar o nome em outra tabela através da matrícula. como eu passo esse valor exibido na coluna através do “item.matricula” para meu código java? Ou como eu posso recuperar a matrícula do datamodel lá no código java??

Daniel ou quem puder ajudar, desde já fico grato!

D

Deixa eu ver se eu entendi ver quer pegar os dados de uma determinada linha do datatable ou ela inteira???

E

Xande_cf:
Surgiu outra dúvida!!!

Minha DataTable é preenchida com um datamodel. Existe uma coluna onde estou exibindo o valor “item.matricula”. Acontece que eu preciso exibir em outra coluna o nome referente a essa matrícula. Para isso eu preciso buscar o nome em outra tabela através da matrícula. como eu passo esse valor exibido na coluna através do “item.matricula” para meu código java? Ou como eu posso recuperar a matrícula do datamodel lá no código java??

Daniel ou quem puder ajudar, desde já fico grato!

Vc pode transformar esse campo eh link e passar o valor por parametro.

//jsf
<h:commandLink id="idLink" action="#{seuPageCode.seuMetodo}">
      <h:outputText id="idOutPut" value="seuTexto" />
	<f:param name="param" id="idValorCampo" value="#{item.valorQueDesejaPassar}"/>
</h:commandLink>

//java: pegando valor selecionado
//requestParam objeto do tipo java.util.Map;
String parametro = (String)requestParam.get("idValorCampo");
X
<h:column>
      <f:facet name="header">
           <h:outputText value="Matrícula"/>
      </f:facet>
      <h:outputText value="#{item.matricula}"/>
</h:column>

Daniel, esse é o campo da tabela que eu preciso “capturar” para utilizar em uma busca no código java e exibir o resultado (que seria o nome) em outra coluna da mesma tabela. Pode ajudar?

Acho que transformar o campo em link não vai ficar da maneira adequada para o que eu preciso ebarros. Se tiver outra solução, por favor não deixe de postar.

Obrigado amigos!

Criado 9 de março de 2009
Ultima resposta 10 de mar. de 2009
Respostas 8
Participantes 4