iReport e Período

Gostaria de obter um resultado aproximadamente assim no iReport


I I
I Relatório 1 - Movimentos I
I Período : 01/10/12 - 10/10/12 I
I I
I I
I I
I_______________(Final do Page Header)___________________________________________ I

Eu não sei como pegar a data inicial dos movimentos e a final para alimentar o Período.

Estou usando JRBeanCollectionDataSource.

Alguém poderia me dar um help?

Desde já agradeço !

Esse tipo de informação você não passa como atributo de um bean que irá alimentar o teu JRBeanCollectionDataSource, você passa no mapa de parãmetros

mapaParams.put("dtIniPeriodo", dataIniPeriodo); mapaParams.put("dtFimPeriodo", dtFimPeriodo);
Esta informação deverá ser obtida:

  • Do formulário de pesquisa
  • Do banco de dados
  • Do sabre de luz de algum jedi…

A terceira opção parece mais favorável !

Valeu !

Desculpa atrapalhar novamente !

Criei um parâmetro no iReport nesse tipo P{inicial} e outro P{final}

Andei procurando sobre o que você havia dito, mas não achei nenhuma explicação em relação ao uso de beans.

Usando SQL achei uns exemplos mas não cabem em nada neste uso pois beans não usam expressões e portanto o iReport acusa Parameter not Found.

[quote=bobleujr]Desculpa atrapalhar novamente !

Criei um parâmetro no iReport nesse tipo P{inicial} e outro P{final}

Andei procurando sobre o que você havia dito, mas não achei nenhuma explicação em relação ao uso de beans.

Usando SQL achei uns exemplos mas não cabem em nada neste uso pois beans não usam expressões e portanto o iReport acusa Parameter not Found.
[/quote]
Posta o trecho de código onde você chama o relatório.


            Map map = new HashMap();  

            //Eu possuo uma lista de um objeto da classe Razão, que não é uma entidade no BD pq necessita ser gerada a cada relatório
            //Portanto minha DataSource é esta lista que já está gerada e ordenada por data

            JRBeanCollectionDataSource tmds = new JRBeanCollectionDataSource(data);
            JasperPrint impressao = JasperFillManager.fillReport("Razao.jasper", map, tmds);

            JasperViewer jasperViewer = new JasperViewer(impressao, false);

            jasperViewer.setDefaultCloseOperation(JasperViewer.DISPOSE_ON_CLOSE);
            jasperViewer.setExtendedState(JasperViewer.MAXIMIZED_BOTH);
            jasperViewer.setModalExclusionType(ModalExclusionType.APPLICATION_EXCLUDE);
            jasperViewer.requestFocus();
            jasperViewer.setVisible(true);

Tudo bem, acontece que você tem duas opções para enviar os dados ao relatório.
O JRBeanCollectionDataSource, que é composto pela lista data e que contém objetos de uma determinada classe e cujos atributos serão interpretados e substituirão os elementos $F{nomeDoField} no relatório, certo?
Por outro lado, você pode criar elementos $P{nomeDoParametro}, com dados que venham a ser passados dentro de um HashMap.

No caso, se as datas inicial e final forem representadas pelas variáveis dtIni e dtFim e, se no relatório você criou os elementos $P{dtIni} e $P{dtFim}:

map.put("dtIni", dtIni);
map.put("dtFim", dtFim);

Manja?

Isso eu compreendi bem, sem problemas.

O problema a qual me refiro é quanto " Qual medida tomar para o iReport saber que aquele é um parâmetro passado pelo HashMap ?"

Por quê quando eu compilo o report com os param P{dtIni} e P{dtFim} ele acusa Parameter not Found, ou seja, ele prevê uma declaração prévia no iReport de alguma maneira
para esses parâmetros.

valeus !

Do lado esquerdo do teu iReport, quando o teu relatório está aberto, você tem várias opções, entre elas, existe Parameters. Clique com o botão direito do mouse e selecione new parameter. Faça isso para todos os parâmetros que precisar criar.

Então deve ser isso, a versão do iReport que eu estou usando tem me trazido um monte de problemas por que eu não consigo achar as ferramentas, vou tentar baixar outra mais completa para melhorar.

Obrigado pelas explicações !

Qual a versão? Eu uso a 2.7 no trabalho e ela tem estas propriedades. Só se for o plugin do netbeans…

Eu estou usando a 4.7.1, agora estou baixando a 5.0.0, se nada funcionar vou tentar as outras anteriores!

obs: A que estou usando é separada do NetBeans

Cara, na versão 4.7.1 existe sim a opção de criar parâmetros.

Está aqui mesmo, noobice hard da minha parte ! Obrigado pela ajuda !