Estou com problema para filtrar um relatorio por data no ireport a query do relatorio e essa
porem ao digitar no campo texto a data e clicar no botao que filtra o relatorio nao tras nenhum filtro o que posso fazer? alguem me ajuda?
nao coloquei nada do editor de expressao e expressao de filtragem apenas criei o parametro e coloquei na query do relatorio uso o ireport 2.0.4 alguem pode ajudar? preciso filtra esse relatorio obrigada.
Codigo do filtro de relatorio
[code]import java.awt.event.*;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.swing.*;
import Modelo.Cliente;
import Modelo.Compra;
import Modelo.Conta;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.view.JasperViewer;
//import controle.Utilitarios;
// Ctrl+Shift+F => Formata o código
// Ctrl+A e Ctrl+i => Formata a seleção
public class FiltroCliente extends JFrame {
private JLabel rotulo1;
private JTextField caixa1;
private JButton botao1;
private static EntityManagerFactory fabricaDeEntidades = null;
private static EntityManager gerenciador = null;
Cliente objetoCliente;
ImageIcon icone;
public FiltroCliente(EntityManagerFactory fabricaDeEntidades2, EntityManager gerenciador2) throws ParseException {
super("Relatório Cliente");
Container tela = getContentPane();
icone = new ImageIcon("100.gif");
botao1 = new JButton (icone);
tela.setLayout(null);
fabricaDeEntidades=fabricaDeEntidades2;
gerenciador=gerenciador2;
rotulo1 = new JLabel("Data:");
caixa1 = new JTextField();
//botao1 = new JButton("Gerar Relatório");
// coluna, linha, largura, altura
rotulo1.setBounds(24, 19, 56, 20);
caixa1.setBounds(75, 19, 100, 20);
botao1.setBounds(54, 60, 100, 20);
//rotulo2.setBounds(24, 50, 100, 20);
//caixa2.setBounds(75, 50, 100, 20);
tela.add(rotulo1);
tela.add(caixa1);
//tela.add(rotulo2);
//tela.add(caixa2);
tela.add(botao1);
//SimpleDateFormat formatador = new SimpleDateFormat("dd/MM/yyyy");
// Transforma uma String em um Date
// Date base = formatador.parse(“29/01/2007”);
// Date hoje= new Date();
// Calcula a diferença em milisegundos entre as duas datas
//long dif = hoje.getTime() - base.getTime();
// divide a diferença pelo numero de milisegundos de 1 dia, que seria 86400000
// long dias = dif/(1000L606024);
// long horas = dif/(1000L6060);
//long minutos = dif/(1000L60);
// System.out.println("Data Atual: " + hoje);
// System.out.println("Data FORMATADA: " + formatador.format(base));
// System.out.println("Dif. em Dias: " + dias);
// System.out.println("Dif. em Horas: " + horas);
// System.out.println("Dif. em Minutos: " + minutos);
botao1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
RelatorioCliente rep = new RelatorioCliente();
gerenciador.createQuery(
"from Cliente pr WHERE data = :data");
JasperPrint relat;
try {
relat = rep.gerarRelatorioCliente();
JasperViewer.viewReport(relat, false);
} catch (Exception e1) {
e1.printStackTrace();
}
//
}
});
// setSize(largura, altura);
setSize(250, 150);
setVisible(true);
setLocationRelativeTo(null);
}
public static void main(String[] args) throws ParseException {
fabricaDeEntidades = Persistence
.createEntityManagerFactory("TurmaN40PostgreSQL");
gerenciador = fabricaDeEntidades.createEntityManager();
FiltroCliente app = new FiltroCliente(fabricaDeEntidades, gerenciador);
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}[/code]
Codigo da conexao com o banco e o ireport
[code]import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.HashMap;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
public class RelatorioCliente
{
Connection con;
public JasperPrint gerarRelatorioCliente()
throws Exception
{ JasperPrint rel=null;
String url = "jdbc:postgresql://localhost:5432/TurmaN40";
try {
Class.forName("org.postgresql.Driver");
} catch(java.lang.ClassNotFoundException e1) {
System.err.print("ClassNotFoundException: ");
System.err.println(e1.getMessage());
}
try {
con = DriverManager.getConnection(url,"postgres", "postgres");
} catch(SQLException ex) {
System.err.print("SQLException: ");
System.err.println(ex.getMessage());
}
try { // Connection con = Conexao.criaConexao();
HashMap<String, JasperPrint> map= new HashMap<String, JasperPrint>();
map.put("data", rel);
String arquivoJasper= "C:\\vidracaria\\RelatorioCliente.jasper";
rel=JasperFillManager.fillReport(arquivoJasper,map,con);
con.close();
}
catch (JRException e)
{ e.printStackTrace();
}
return rel;
}
}[/code]