Dúvida iReport [RESOLVIDO]

2 respostas
fredsilva.sistemas

Olá galera!
Estou com uma dúvida aqui no iReport:
Tenho um relatório gerado por um ResultSet que vem da aplicação. Ele mostra os pedidos realizados entre duas datas.
Gostaria de fazer com a data inicial e a data final fossem mostradas no title do relatório.
Tipo assim:
Pedidos efetuados entre 01/08/2009 e 26/08/2009

Não sei se ajuda eu passar o código java para gerar o relatório, mas aí vai:
public void geraRelatorio(String dataInicial, String dataFinal) throws JRException, Exception
    {

            Connection con = getConnection( );
            Statement stm = con.createStatement( );
            String query = "SELECT \"PED_IDDOOBJETO\", \"UNI_DESCRICAO\", \"PED_DATA\", \"PED_TOTAL\", \"PES_NOME\" FROM \"PEDIDOS\", \"UNIDADES\", \"PESSOA\" WHERE \"PED_DATA\" >= '"+dataInicial+"' AND \"PED_DATA\" <= '"+dataFinal+"' AND \"PED_IDUNIDADE\" = \"UNI_IDDOOBJETO\" AND \"PED_IDUSUARIO\" = \"PES_IDDOOBJETO\" AND \"PED_IDUSUARIO\" = \"PES_IDDOOBJETO\" ORDER BY \"PED_IDDOOBJETO\";";
            ResultSet rs = stm.executeQuery( query );
            /* implementação da interface JRDataSource para DataSource ResultSet */
            JRResultSetDataSource jrRS = new JRResultSetDataSource( rs );
            /* HashMap de parametros utilizados no relatório. Sempre instanciados */
            Map parameters = new HashMap();
            /* Preenche o relatório com os dados. Gera o arquivo BibliotecaPessoal.jrprint */
            String jasperPrint = JasperFillManager.fillReportToFile( "Relatórios/PedidosPorData.jasper", parameters, jrRS );
            JasperViewer viewer = new JasperViewer(jasperPrint, false, false);
            viewer.setExtendedState(JasperViewer.MAXIMIZED_BOTH);
            viewer.setDefaultCloseOperation(JasperViewer.DISPOSE_ON_CLOSE);
            viewer.setVisible(true);
    }

Alguém tem alguma idéia?
T+

2 Respostas

A

voce pode passar as duas datas no hash map para poder pegar no seu relatorio
na aplicação voce map.put("0",dataInicial); map.put("1",dataFinal);
se utilizar as chaves do hash map um string fica mais facil depois no irrepot
depois no seu relatorio voce bota algo do tipo eu textField

$P{REPORT_PARAMETERS_MAP}.get("0")
fredsilva.sistemas

acichele:
voce pode passar as duas datas no hash map para poder pegar no seu relatorio
na aplicação voce map.put("0",dataInicial); map.put("1",dataFinal);
se utilizar as chaves do hash map um string fica mais facil depois no irrepot
depois no seu relatorio voce bota algo do tipo eu textField

$P{REPORT_PARAMETERS_MAP}.get("0")

Cara, funcionou redondinho!
Valew pela força!
T+

Criado 26 de agosto de 2009
Ultima resposta 26 de ago. de 2009
Respostas 2
Participantes 2