Ordenar dataTable Facelets

1 resposta
T

Galera to tentando ordenar a table daquela forma que ao clicar no titulo da coluna … ele ordene por ela. eu uso facelets. alguém saberia como me ajudar?

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:c="http://java.sun.com/jstl/core"
	xmlns:t="http://myfaces.apache.org/tomahawk"
	xmlns:a4j="https://ajax4jsf.dev.java.net/ajax"
	template="/templates/template.xhtml">

	<ui:define name="title">PatrimonioWeb :: Lista Patrimônios</ui:define>
	<ui:define name="body">Lista dos Patrimônios<br />
		<h:form>
			<h:dataTable width="85%" value="#{controlePatrimonio.todos}"
				var="patrimonio">

				<tr>
				<!-- <h:column>
						<f:facet name="header">Funcionário</f:facet>
				#{patrimonio.funcionario}</h:column>
					<h:column>-->
					
					 <h:column>
						<f:facet name="header">Funcionário</f:facet>
				#{patrimonio.funcionario.pessoaFisica.pessoa.nome}</h:column>
					<h:column>
					
						<f:facet name="header">Tombo</f:facet>
				#{patrimonio.tombo}</h:column>
					<h:column>
						<f:facet name="header">Produto</f:facet>
				#{patrimonio.produto.nome} #{patrimonio.produto.descricao}</h:column>
					<h:column>
						<f:facet name="header">Serial</f:facet>
				#{patrimonio.serial}</h:column>
					<h:column>
						<f:facet name="header">Setor</f:facet>
				#{patrimonio.setor}</h:column>
					<h:column>
						<f:facet name="header">Data</f:facet>
						<h:outputText value="#{patrimonio.data}">
							<f:convertDateTime pattern="dd/MM/yyyy" />
						</h:outputText>
					</h:column>
					<h:column>
						<f:facet name="header">Nota Fiscal</f:facet>
				#{patrimonio.notaFiscal}</h:column>
				
					<h:column>
						<f:facet name="header">Situação</f:facet>
				#{patrimonio.situacao.descricao}</h:column>
					<h:column>
						<f:facet name="header">Observação</f:facet>
				#{patrimonio.observacao}</h:column>

					<h:column>
						<h:commandLink action="#{controlePatrimonio.editar}">
							<f:setPropertyActionListener value="#{patrimonio}"
								target="#{controlePatrimonio.patrimonio}" />Editar</h:commandLink>
					</h:column>
					<h:column>
						<h:commandLink action="#{controlePatrimonio.excluir}">
							<f:setPropertyActionListener value="#{patrimonio}"
								target="#{controlePatrimonio.patrimonio}" />Excluir</h:commandLink>
					</h:column>
				</tr>

			</h:dataTable>
		</h:form>

	</ui:define>
</ui:composition>

valeu moçada!

1 Resposta

alexegidio

Bem, você pode fazer com que cada cabeçalho de sua coluna seja um link, que ao clicar chame um método do bean o qual trará os resultados ordenados por um parâmetro que você definiria na ação do link. Ou provavelmente usar um componente pronto que exista por aí

Criado 30 de dezembro de 2009
Ultima resposta 2 de jan. de 2010
Respostas 1
Participantes 2