Depois de pronto o projeto fica com essa estrutura:
O primeiro componente que veremos hoje é o
dataExporter que serve para exportar os dados para arquivos PDF, XLS, XML ou CSV de uma determinada dataTable, então para isso eu preciso de uma dataTable:
Código-fonte:
Para este exemplo vamos precisar de uma classe Carro (pojo), então dentro de pacote de códigos fonte crie um novo pacote com o nome de model, e dentro dele crie uma nova classe Java com o nome de Carro:
07 | private String modelo; |
09 | public Carro(String marca, int ano, String placa, String cor, String modelo) { |
Agora vamos criar o nosso bean que vai dar suporte à nossa dataTable, para isso crie um pacote com o nome de
controle, dentro desse pacote crie uma nova classe Java com o nome de
CarroBean:
03 | public class CarroBean { |
05 | private List<Carro> carros; |
11 | private void listarCarros() { |
12 | carros = new ArrayList<Carro>(); |
13 | carros.add( new Carro( "Fiat" , 2011 , "DFV 3455" , "Verde" , "Novo Uno" )); |
14 | carros.add( new Carro( "Toyota" , 2009 , "ADV 3245" , "Prata" , "Prado" )); |
15 | carros.add( new Carro( "Volks" , 2010 , "AAC 2351" , "Vermelho" , "Gol" )); |
16 | carros.add( new Carro( "Volks" , 2011 , "EGF 1245" , "Preto" , "Cross Fox" )); |
Bom nem tem o que explicar o código acima... Para este exemplo vamos precisar das imagens (do link que disponibilizei lá no inicio), por enquanto só irei precisar de:
xsl.png e
pdf.png, dentro de páginas web, crie um novo diretório com o nome de
imagens, e coloque as imagens dentro dela. Agora vamos para a página index:
02 | < p:dataTable id = "tabelaCarros" value = "#{carroBean.carros}" var = "c" > |
04 | < f:facet name = "header" >Marca</ f:facet > |
05 | < h:outputText value = "#{c.marca}" /> |
08 | < f:facet name = "header" >Modelo</ f:facet > |
09 | < h:outputText value = "#{c.modelo}" /> |
12 | < f:facet name = "header" >Ano</ f:facet > |
13 | < h:outputText value = "#{c.ano}" /> |
16 | < f:facet name = "header" >Cor</ f:facet > |
17 | < h:outputText value = "#{c.cor}" /> |
20 | < f:facet name = "header" >Placa</ f:facet > |
21 | < h:outputText value = "#{c.placa}" /> |
26 | < p:graphicImage value = "/imagens/xls.png" /> |
27 | < p:dataExporter type = "xls" target = "tabelaCarros" fileName = "carros" /> |
30 | < p:graphicImage value = "/imagens/pdf.png" /> |
31 | < p:dataExporter type = "pdf" target = "tabelaCarros" fileName = "carros" /> |
No código acima eu tenho uma dataTable normal (vista em postagens anteriores) e logo abaixo dela eu tenho os dataExporter, o detalhe mais importante é quanto a propriedade
target, veja que ela corresponde ao
id da tabela.
Comentários
Postar um comentário