Usando o componente Table do iReport - Daniel Sousa
15 de junho de 2010 Daniel Sousa 23527 comentárioshttp%3A%2F%2Fwww.danielsousa.com.br%2Fwp%2F2010%2F06%2F15%2Fusando-o-componente-table-do-ireport%2FUsando+o+componente+Table+do+iReport2010-06-16+02%3A22%3A52Daniel+Sousahttp%3A%2F%2Fwww.danielsousa.com.br%2Fwp%2F%3Fp%3D235
Na versão 3.7.2, o jasperReports ganhou um novo componente: Table.
E como não poderia deixar de ser, no iReport 3.7.2 podemos usar ele e criar tabelas visualmente.
No vídeo a seguir, demonstro um passo-a-passo de como utilizar esse componente.
Espero que gostem =]. Não foi possível colocar no youtube devido ao tamanho…
Em posts futuros, explicarei mais detalhes do uso da table, tais como mesclar células, esconder colunas e utilizar agrupamentos.
Vídeo: Usando o componente Table (Têm Áudio)
Obs: A base de dados eu disponibilizo para download também caso alguém se interesse.
Ferramentas, JasperReport / iReport, Java ireport, JasperReport, relatório, report, tabela, table, tutorial
#1 | Escrito por GEBER a cerca de 10 anos atrás. Responder
Daniel td bem?
Eu Gostei de mais do seu tutorial sobre trabalhar com Table no IReport, mas gostaria de te pedir uma ajuda.
Eu estou tentando implementar esse relatorio gerado pelo programa para poder ser usado nos meus projetos web.
Fiz tudo certo criei o meu relatorio e agora quero que o meu PHP chame esse PDF gerado. Mas nao obtive sucesso ate agora, quando executo o codigo a tela fica Branca e nao aparece nada no navegador.
Teria como me ajudar nesse respeito. Serei muito grato por isso.
Estou usando o Wamp, Base Mysql, e o componente PHPJasperXML.
Talvez vc tenha uma solucao melhor para esse meu problema aqui.
#2 | Escrito por Daniel Sousa a cerca de 10 anos atrás. Responder
Nunca utilizei o PHPJasperXML, porém sei que é uma API bem limitada ainda, faltam muitos recursos do JasperReports, por exemplo, você não pode usar as bands Title, Column Header/Footer. Talvez você esteja usando algum componente que o PHPJasperXML ainda não suporte.
Posso estar dizendo bobagem, mas a ultima versão do PHPJasperXML (0.7a) saiu dia 27/abril/2010 e o JasperReports 3.7.2 (versão em que foi criado o componente Table) foi lançado dia 12/abril/2010. Logo, acredito que o PHPJasperXML não dê suporte a ele ainda.
Dá uma olhada nesses links sobre o PHPJasperXML, talvez ajude-o:
WiKi: http://www.simit.com.my/wiki/index.php/PHPJasperXML
Fórum: http://www.extraknowledge.org/forum/viewforum.php?f=23
Tutorial 1: http://www.simit.com.my/download/phpjaspertutorial-1.swf
Tutorial 2: http://www.simit.com.my/download/phpjaspertutorial-2.swf
Tutorial 3: http://www.simit.com.my/download/phpjaspertutorial-3.swf
Tutorial no iMasters: href="http://imasters.uol.com.br/artigo/15736/php/usando_o_ireport_como_gerador_de_relatorios_para_php_
Agora uma opinião minha: Se quer desfrutar dos recursos do JasperReports com plenitude e tiver a possibilidade, monte um ambiente assim: Apache e Tomcat (integrados com mod_jk).
Daí seus formulários com filtros, etc.. você desenvolve com html e php normalmente, rodando no Apache. No Tomcat você cria servlets que recebem os parametros de alguma forma (GET, POST, webservice, etc..) e gera o relatório. Assim você pode aproveitar todos os recursos do JasperReports.
Se ainda assim não puder montar um ambiente como falei, talvez até seja válido se valer do PHP/Java Bridge, que cria uma conexão com a JVM do Java, possibilitando que você use código Java no seu PHP: http://php-java-bridge.sourceforge.net/pjb/index….
#3 | Escrito por Geber a cerca de 10 anos atrás. Responder
Daniel…. obrigado pela consideracao, foi muito util a sua ajuda, gostei D+. espero que continue assim para o sucesso do blog q é uma excelente base de aprendizado.
#4 | Escrito por danielsbarros a cerca de 10 anos atrás. Responder
Olá Rafael, antes de mais nada, obrigado pela visita, e fico feliz que o post tenha ajudado alguém :). Isso motiva a continuar compartilhando conhecimento.
Quanto ao seu problema, não sei se é bem isso que você quer, mas fiz um exemplo do que achei ser o que você precisa.
Fazendo analogias, pra aproveitar a minha base de dados:
Continente : Seus Setores
Países : Seus Cargos
Idiomas: Seus Riscos
Com isso, fiz este exemplo:
PDF: http://bit.ly/bfGkig
JRXML: http://bit.ly/cImSeC
Dê uma fuçada no JRXML, se for isso mesmo que você deseja, fuçando ele pode te ajudar.
Basicamente, consiste em criar um grupo na tabela.
Ainda essa semana vou fazer um post dando mais detalhes da criação de uma tabela como essa.
#5 | Escrito por Alain a cerca de 10 anos atrás. Responder
Many thanks for this very clear and helpful video. I got it even though I do not understand Portuguese. 🙂
#6 | Escrito por Edvaldo Matos a cerca de 10 anos atrás. Responder
Cara excelente o material, mais tentei fazer os procedimentos usando um List no parametro de dados e não rolou..
tem algum config a fazer.
#7 | Escrito por Daniel Sousa a cerca de 10 anos atrás. Responder
Fala Edvaldo, tudo bom?
Estava meio ocupado esses dias, só pude ver os comentários aqui do site agora… rs
Seguinte, que objetos vc tem dentro desse List? Na Table do meu post, eu uso como datasource uma consulta ao banco, usando a mesma conexão do relatório.
Mas você pode gerar a tabela usando como fonte de dados uma List sim.
Clique com o botão direito do mouse sobre a table e vá em "Edit table datasource".
Na aba Connection/DataSource Expression, coloque a opção "Use datasource Expression"
Se vc tiver um List de Beans, coloque na expressão isso aqui:
new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($P{LISTA})
new net.sf.jasperreports.engine.data.JRBeanArrayDataSource($P{LISTA})
Se vc tiver um List de Maps, coloque na expressão isso aqui:
new net.sf.jasperreports.engine.data.JRMapCollectionDataSource($P{LISTA})
new net.sf.jasperreports.engine.data.JRMapArrayDataSource($P{LISTA})
Existem outros tipos de datasource que você poderia usar também:
http://jasperreports.sourceforge.net/api/net/sf/jasperreports/engine/data/package-tree.html
#8 | Escrito por Paulo a cerca de 10 anos atrás. Responder
Muito bom o tutorial. Parabens
#9 | Escrito por Adriano Duarte a cerca de 10 anos atrás. Responder
bom dia daniel gostaria de saber onde posso ver seu video sobre o componente table do jasper pois clik no link e aparece um comercia de wisk…
#10 | Escrito por Daniel Sousa a cerca de 10 anos atrás. Responder
Olá Adriano. O Vídeo é este mesmo. Primeiro ele passa um comercial curtinho, acho que uns 30 segundos ou menos, e logo em seguida começa o vídeo.
Esse é meu único ganha pão pelo site… =]
#11 | Escrito por Cristiano a cerca de 9 anos atrás. Responder
poxa cara SENSACIONAL hein valeu mesmo!
s[o lamento nao ter uma versao escrita desse tutorial, estou em ambiente fechado do cliente e soh consegui acessar porque estou com o notebook e 3g hehehe
mas bem instrutivo, eu errei porque nao percebi que a query da tabela e a do relatorio eram coisas distintas (o que eh meio estranho, ja que eh necessario obter uma tabela para o relatorio e tambem um grafico, de modo que vou ter informacao repetida), mas
esse componente ajudara bastante pois tenho quebradio a cabeca desenhando as malditas linhazinhas dos reports e redimensionando todos os campos em um trabalho meio que… zuado demais!
abraco e parabens pelo blog
#12 | Escrito por Lucas a cerca de 9 anos atrás. Responder
Parabéns pelos vídeos são excelentes.
Só gostaria de efetuar alguns questionamentos sobre o componente Table do jasper.
Quero criar um table de 8 colunas, como não consegui pelo dataSet(4 colunas) selecionei a opção abaixo que cria a qtd de colunas que desejo.
Automaticamente ele criou meu dataset, porém ao modificar a query para pegar os campos da tabela no banco e arrastar no table, o mesmo exibe como null.
Sabe o pq disso ?
#13 | Escrito por marco silva a cerca de 9 anos atrás. Responder
Assisti o teu tutorial sobre o uso do componente table.
fiz tudo como tu colocou ali, mas preciso buscar e imprimir no relatorio dois campos de datas.
Está dando o seguinte erro:
Error filling print… Unable to get value for field 'data_inicio' of class 'java.sql.Date'
ja entrei nas propriedades desses campos mas aparentemente está tudo certo. Sabes como fazer pra mostrar as datas? Se puderes me dar uma força agradeço. valeu!!
#14 | Escrito por Elton Mozart a cerca de 9 anos atrás. Responder
muito bom o seu tutorial. Você não poderia disponibilizar esse vídeo pra download?
#15 | Escrito por Alberto a cerca de 9 anos atrás. Responder
Ola, sou iniciante no iReport, gostaria de saber como inserir linhas em tabelas… Obrigado
#16 | Escrito por Pedro Begalli a cerca de 9 anos atrás. Responder
Muito bacana seu tutorial, to com uma dúvida, quero ver se você pode me ajudar.
preciso fazer uma tabela onde cada field ficasse numa linha e que a coluna da esquerda fosse o header do campo. Mas gostaria de fazer isso usando o componente table ao invés de usar o subreport. É possível fazer isto da maneira que estou querendo?
Pedro Begalli
#17 | Escrito por ronaldo a cerca de 9 anos atrás. Responder
'O bug que vc disse é por que seu parametro não esta inicializado (não tem um valor default)'
e ta fasltando o parametro ser pedido pelo usuario
se souber fazer ficarei ansioso pra ver
#18 | Escrito por Marcelo a cerca de 9 anos atrás. Responder
Ótima vídeo aula. Muito prática esse componente table, acredito que na maioria dos casos já supre a necessidade de usar subreports. A um bom tempo eu já achava ruim criar dois arquivos para um mesmo relatório. Essa foi uma ótima alternativa criada nessa versão do iReport 😀
#19 | Escrito por Junior a cerca de 8 anos atrás. Responder
Olá Daniel, Rapaz, preciso de uma ajuda.
Tenho um probleminha que pode ser ilustrado com o seu exemplo. Vamos supor que eu tenha o pais brasil, e ao lado mostrando os estados. O que eu quero fazer é que, como os estados são todos do Brasil, gostaria que mostrasse o nome brasil apenas 1 vez, mesclando as linhas que separam só a parte do nome brasil.
#20 | Escrito por Thyago a cerca de 8 anos atrás. Responder
Obrigado pelo tutorial! Esclareceu muitas dúvidas !
#21 | Escrito por Mah a cerca de 7 anos atrás. Responder
Ficou bem fácil de entender…
#22 | Escrito por thyago pacher a cerca de 7 anos atrás. Responder
vc sabe como usar dois ou mais tables alinhados lado a lado?
#23 | Escrito por Genemes a cerca de 7 anos atrás. Responder
E aí Daniel, gostei muito do vídeo, é um excelente material para estudo. Sou novo com desenvolvimento de relatórios por isso estou com uma dúvida infantil. Seguindo seu tutorial tive êxito no iReport, mais na minha aplicação a tabela aparece vazia e é lancada a exceção: net.sf.jasperreports.engine.query.JRJdbcQueryExecuter
Advertência: The supplied java.sql.Connection object is null. O que fazer?
#24 | Escrito por Vinicius Araujo a cerca de 7 anos atrás. Responder
Daniel, parabens pela iniciativa do vídeo, me ajudou bastante!
Porem estou com um problema que talvez vc ja tenha passado..
É o seguinte, no layout do meu relatorio, que se trata de um recibo de pagamento, eu precisaria de uma tabela com tamanho estatico, ou seja, que preencha com branco quando nao atingir o limite. Equando ultrapassar o limite, que gere um novo relatorio com as linhas restantes . Sera possivel isso ou terei que fazer algo com subGroup??
Agradeço desde ja, Abraços
#25 | Escrito por Yoda a cerca de 6 anos atrás. Responder
study .net, you have.
#26 | Escrito por Jorge a cerca de 5 anos atrás. Responder
Gostei. Mas preciso de muita ajuda com o mesmo tipo de relatório só que usando JavaBeans, tenho tentado me guiar pelo seu mas está difícil.