Académique Documents
Professionnel Documents
Culture Documents
More
Next Blog
This site uses cookies from Google to deliver its services, to personalise ads and to analyse traffic. Information
about your use of this site is shared with Google. By using this site, you agree to its use of cookies.
Create Blog
LEARN MORE
Sign In
GOT IT
"Feliz aquele que transfere o que sabe e aprende o que ensina!" Cora Coralina
Incio
Nvel: Iniciante
Nvel: Intermedirio
Nvel: Avanado
Pesquisar
4 de junho de 2011
Newsletter
Email address...
Submit
Desde 08/2010
6 3 8 7 0 4
Arquivos
2010 (18)
2011 (35)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
No iReport, vamos editar o relatrio pedidos.jrxml, criando tambm no link da postagem acima.
Para comear no relatrio vamos adicionar a band Summary:
Plus500 Online
trading
Stocks/Forex/Gold. No
Commissions! CFD serviceYour capital is at risk
BuscaP / Bondfaro
Precisamos criar um parmetro que ser enviado pelo projeto, para isso no Report Inspector, clique com o boto direito
em Parameters, e em Adicionar Parameter:
JSF 2.0:
Componentes
PrimeFaces
2.2.1 - Parte 5
XStream: Criando
e lendo
arquivos XML
Lomadee
Selecione o parameter1 e v nas propriedades para configur-lo, altere o nome para listaClientes e o Parameter class
para java.util.List, pois passaremos por parmetro uma lista de clientes:
teis
Edson Gonalves
Java Anywhere
JavaRequest
Na paleta procure pelo elemento Subreport, arraste-o para a band Summary, a partir de agora siga as imagens abaixo:
krams::
Loiane Groner
Rafael Ponte
Tags
Componentes CRUD
HelloWorld Jasper Reports
JavaEE
JavaEE 5
JavaSE JPA
JavaEE 6
2.0 JSF1.2 JSF2.0
JSP
MySQL
PrimeFaces
Servlet
Clique em prximo novamente, como estamos usando JavaBean datasource, e no utilizamos datasource, configure como
na imagem:
Avance de novo:
Na janela abaixo informe o nome do Subreport, nesse caso ser chamado de pedidos_subreport:
No passo 7, habilite a opo "Use a JRDatasource expression", e clique no boto do lado da caixa de texto, a seguinte
janela aparecer, nela ns convertemos a listaClientes em um JRBeanCollectionDataSource :
Como ser uma lista de clientes, precisamos pegar da classe Cliente os seguintes fields - codigo, nome e
limiteCredito... para isso em Report Query, na aba JavaBean Datasource:
Feito isso...
Como visto em postagens anteriores, estruture o relatrio para que fique assim:
Ah, lembre-se de nas propriedades do relatrio alterar a linguagem para Java, j que estamos usando JavaBean
datasource:
Depois disto basta compilar nosso subreport, para poder gerar o pedidos_subreport.jasper
Voltamos ao pedidos.jrxml, e vamos fazer umas ultimas configuraes, temos este resultado:
Precisamos criar mais um parmetro que ser uma String com o caminho de onde encontrar o pedidos_subreport.jasper,
repita o mesmo passo que foi feito para criar o listaClientes, mas dessa vez use as seguintes propriedades:
Agora precisamos set-lo no lugar certo... para isso: veja que na band Summary tem um elemento que representa o
subreport, clique nele e v nas propriedades, procure por Subreport Expression, e configure-o assim:
Feito todos esses passos, pode compilar novamente o relatrio principal (pedidos)...
Caso no ocorra nenhum erro, voltamos ao projeto Pedidos no NetBeans.
No projeto..
No pacote pedidos,controle.relatorios, substitua o pedidos,jasper pelo que foi compilado agora, e adicione o
pedidos_subreport.jasper, ficando assim:
Para finalizar de vez, precisamos fazer algumas alteraes no mtodo gerarRelatorio() da classe PedidoControle.java:
1
2
3
4
5
6
7
8
9
10
11
12
13
No comeo da classe lembre-se de adicionar a declarao do ClienteDAO, assim como foi feito para PedidoDAO...
Vamos ver o que foi alterado no mtodo...
Primeiro, depois de declarado o atributo clienteDAO no inicio da classe, na linha 5 estamos inicializando-o.
Da linha 7 a 9, criamos um Map, com os parmetros que criamos l no iReport... e por fim... na linha 12, passvamos o
parmetro como null, agora este substitudo e passamos o Map parametros por parmetro.
Assim podemos executar nosso projeto e ver o seguinte resultado:
Por aqui ficamos... admito que tive alguns probleminhas ao conseguir utilizar o JavaBean datasource no subreport, o que
me levou a pedir um help no Twitter onde o @altitdb me ajudou! por isso deixo os devidos crditos ele :)
Crditos da postagem: Altieres de Matos, pois ele salvou minha aula sobre Subrepot hehe (pois , tive problemas ao
usar Subreport com JavaBean datasource)
Postado por andii.brunetta s 22:16
23 comentrios:
Matheus Virtudes 29 de set de 2011 15:07:00
Andii, primeiramente parabens pelos tutoriais. Segue a risca seu tutorial sobre subreports, mas no consigo gerar
o
relatorio
com
o
subrelatorio.
Primeiro
da
o
seguinte
erro:
new
net.nf.jasperreports.engine.data.JRBeanCollectionDataSource cannot be resolved to a type. Ento mudei o nf por
sf e o erro sumiu.
Porem quando tento compilar novamente o erro a seguir dado:
Compilation exceptions: com.jaspersoft.ireport.designer.compiler.ErrorsCollector@1f9fb0c
net.sf.jasperreports.engine.JRException: An error has accurred compiling the subreport: C:\Users\PimentaAgro\Do
wnloads\iReport-4.0.1\ireport\fonts. No sei onde est o erro.
Responder
Respostas
Evandro Araujo de Abreu 12 de jun de 2013 09:52:00
Conseguiu resolver ?? estou com o mesmo problema
andii.brunetta
andii.brunetta
Ol Lucas, tambm tive problemas desse tipo ao fazer testes mais a fundo com a parte de Desktop, acredito que
tenha algum cdigo que d o caminho exato de dentro do .jar, mas at eu descobrir isso, a soluo mais vivel foi
jogar os relatrios dentro de uma pasta no C:/ por exemplo, claro, essa no a melhor soluo, mas como mecho
pouco com a parte Desktop acredito que no poderei te ajudar muito quanto a esse problema :(
Responder
andii.brunetta
Clayton... vc vai precisar criar no relatrio parametros com o mesmo nome dos parametros que vc
estiver passando. Caso vc crie um parametro com o nome data_inicio do tipo Date, a vc precisa passar
um parametro com data_inicio do tipo Date tambm.
andii.brunetta
Clayton, quando vc d um getText() ele retorna apenas uma string, vc precisa transformar isso num
Date.
SimpleDateFormat formatador = new SimpleDateFormat("dd/MM/yyyy");
Date data = formatador.parse(campoFiltro.getText());
"data_final", data ); ?
andii.brunetta
Isso
Boa tarde pessoal, alguem sabe como manter o SubReport com tamanho esttico? ou seja quando atinge o
numero de registros dentro da banda Detail do subreport, ele no sobrepor os componentes a baixo, e listar o
restante em uma nova pagina.
Responder
Comentar como:
Publicar
Selecionar perfil...
Visualizar
Pgina inicial
andii brunetta. Modelo Awesome Inc.. Imagens de modelo por borchee. Tecnologia do Blogger.