iReport - Mostrar valores de um parâmetro no relatório

2 respostas
D

Boa Noite,

Eu tenho uma dúvida: eu tenho um relatório que esta funcionando certinho. Mas esse relatório é gerado com base em um filtro por data de inicio e data final,
e eu queria que nesse relatório seja mostrado essas datas que são passadas como parametro pela aplicação java, mas não estou conseguindo fazer isso.

eu vou mostrar o codigo da execução do relatorio:

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package relatorios;



import dao.DaoPessoa;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */


import java.net.URL;
import java.sql.SQLException;
import java.util.HashMap;

import javax.swing.JOptionPane;

import com.lowagie.text.pdf.codec.Base64.InputStream;

import net.sf.jasperreports.view.JasperViewer;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRResultSetDataSource;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import java.io.*;
import java.util.Map;

/**
 *
 * @author Smart
 */
public class relDespesas {

    DaoPessoa dao = new DaoPessoa();




    public relDespesas(String dataInicio, String dataFim,String nome){
    	
    	
    	 

        try {
        	dao.conectar();
        	
        	
        	String file = ("C:/ReportPeriodo.jasper");
             if (file == null)
             	JOptionPane.showMessageDialog(null,"Arquivo não encontrado");
            
dao.consultaSQL ("select convert(char(10),t1.datalancamento,103) as 'datalancamento',t1.motivoApre,t1.saida+' / '+chegada as 'percuso',"
              + "t1.kmrodado,t1.valorrota,t1.valortotalkm,t1.nomefuncionario,t1.valorkm,t1.totalkm,t2.departamento, t2.valorkm from MOVIMENTO t1,VENDEDOR t2"
              + " WHERE datalancamento >= '"+dataInicio+"' AND datalancamento <= '"+dataFim+"' and nomefuncionario = '"+nome+"'"
              + "and t1.nomefuncionario = t2.usuario");        
        	

	
                JRResultSetDataSource jr = new JRResultSetDataSource(dao.rs);
                Map parametro = new HashMap();
                parametro.put("DataInicio",dataInicio );
                parametro.put("DataFim",dataFim );
                parametro.put("Nome",nome);
                             
                JasperPrint jp = JasperFillManager.fillReport(file, parametro, jr);
   
                JasperViewer.viewReport(jp, false);
                

           } 
             catch(JRException e){
            	JOptionPane.showMessageDialog(null,"Erro no JRE: "+e.getMessage());
                e.printStackTrace();
             }
             catch(Exception ex){
            	 JOptionPane.showMessageDialog(null,"Erro no Exception: "+ex.getMessage());
                 ex.printStackTrace();
            	 
             }





}
   


}

Existe algum erro no meu codigo, ou é no ireport q devo fazer alguma coisa??
tks

2 Respostas

D

Boa Noite,

Ninguém tem uma dica pra me dar??? :oops:

tks

Ev3rton

Olá,

Quando você cria relatórios visualmente no iReport, há uma área para os parâmetros, lá você os adiciona como se fossem variáveis e eles são passados para o relatório a partir de um Map.

Esse parâmetros podem ser manipulados como um campo da consulta no seu relatório, portanto é só arrastá-los para onde deseja.

Você pode encontrar mais informações sobre a utilização de parâmetros e outras dicas aqui:
http://jasperforge.org/website/ireportwebsite/IR%20Website/ir_using_parameters.html?header=project&target=ireport

[ ]'s

Criado 2 de novembro de 2011
Ultima resposta 3 de nov. de 2011
Respostas 2
Participantes 2