JSF 2.0 + DataTable - Acrescentar uma coluna com informação de um List

1 resposta
J

Tenho um dataTable que lista as informações cadastradas.

Em um outro List Está a diferença da hora do cadastro para a hora atual.

Gostaria de exibir este List no meu dataTable no qual cada valor do list ficasse em uma linha do dataTable.
Abaixo segue os código.Obs: No código atual é exibido todos os valores do List em todas as linhas da coluna.

dataTable

<h:form id="solicitacoesAbertas">
		   		
		   		<p:dataTable id="tabelaSolicitacaoAberta" var="solicitacao" value="#{solicitacaoBean.listaSolicitacaoAberta}"
		   		 style="font-size: 12px;" paginator="true" rows="10" >
		   			
		   			<f:facet name="header">
		   				<h:outputText value="Solicitações Abertas"/>
		   			</f:facet>
		   			
		   			<p:column>
		   				<f:facet name="header">
		   					<h:outputText value="Protocolo"/>
		   				</f:facet>
		   				<h:outputText value="#{solicitacao.protocolo}" />
		   			</p:column>
		   			
		   			<p:column>
		   				<f:facet name="header">
		   					<h:outputText value="Data Abertura"/>
		   				</f:facet>
		   				<h:outputText value="#{solicitacao.dataAbertura}">
		   					<f:convertDateTime pattern="dd/MM/yyyy"/>
		   				</h:outputText>
		   			</p:column>
		   			
		   			<p:column>
		   				<f:facet name="header">
		   					<h:outputText value="Hora Abertura"/>
		   				</f:facet>
		   				<h:outputText value="#{solicitacao.dataAbertura}">
		   					<f:convertDateTime pattern="HH:mm:ss"/>
		   				</h:outputText>
		   			</p:column>
		   			
		   			
		   			<p:column>
		   				<f:facet name="header">
		   					<h:outputText value="T.R"/>
		   				</f:facet>
		   				<h:outputText value="#{solicitacaoBean.tempoR}"/>//QUERO EXIBIR UM VALOR POR LINHA DO DATABLE
		   			</p:column>

Bean

private static final long serialVersionUID = 1L;
	private DataModel listaSolicitacaoAberta;
	private List<String> tempoR;
		
	public SolicitacaoBean(){
		
		this.listaSolicitacaoAberta = getListarSolicitacaoAberta();		
	}
	
	//Lista todas as solicitações abertas
	public DataModel getListarSolicitacaoAberta()
	{
		List<Solicitacao> list = new SolicitacaoDaoImpl().listarSolicitacaoAberta();
		//Atribui a lista a um objeto do tipo DataModel
		this.listaSolicitacaoAberta = new ListDataModel(list);
		this.tempoR = getListarTempoReposta();
		
		return this.listaSolicitacaoAberta;
	}
	
	public List<String> getListarTempoReposta(){
		CalculaTempoUtil ct =  new CalculaTempoUtil();
		List<String> tr = ct.retornaTr();
		return tr;
	}

1 Resposta

Hebert_Coelho

Na moral?

Cria uma classe para isso.

Se você tem uma classe Pessoa aí você cria PessoaView.

E dentro dela ficar o atributo:
Pessoa pessoa
Date dataUltimaAlgumaCoisa

E vai ficar liso.

Criado 11 de novembro de 2011
Ultima resposta 11 de nov. de 2011
Respostas 1
Participantes 2