Como llamar un reporte
Diseñe un reporte con ireport, ya tengo el archivo reporte.jasper
Ahora no se como llamar ese archivo desde un boton para que imprima el reporte.
Estoy trabajando con eclipse, mire unos ejemplos con netbeans pero solo me confuendieron.
Alguien me da una mano.
- Inicie sesión o regístrese para enviar comentarios
solucionado
esta fase ya la solucione con google
¿Cual fue la solución?
¿Cual fue la solución?
realize esta clase
Realize esta clase con un método para llamar al reporte. el metodo recibe un String que modifica la consulta del reporte
private Connection conn;
private final String login = "root"; //usuario de acceso a MySQL
private final String password = "**********"; //contraseña de usuario
private String url = "jdbc:mysql://localhost/Ventas";
public VentaClientes()
{
try
{
Class.forName("com.mysql.jdbc.Driver"); //se carga el driver
conn = DriverManager.getConnection(url,login,password);
}
catch (ClassNotFoundException ex)
{
ex.printStackTrace();
}
catch (SQLException ex)
{
ex.printStackTrace();
}
}
public void runReporte(String consulta )
{
try
{
String fileName = System.getProperty("user.dir") +"/src/reportes/ireports/Ventas_Cliente.jrxml";
if (fileName == null)
{
System.out.println("No encuentro el archivo del reporte.");
System.exit(2);
}
File theFile = new File(fileName);
JRDesignQuery newQuery = new JRDesignQuery();
JasperDesign jasperDesign = JRXmlLoader.load(theFile);
newQuery.setText(theQuery);
jasperDesign.setQuery(newQuery);
JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, null, conn);
JasperViewer jviewer = new JasperViewer(jasperPrint,false);
jviewer.setTitle("Sistema de gestión de Cartera");
jviewer.setVisible(true);
}
catch (Exception j)
{
System.out.println("Mensaje de Error:"+j.getMessage());
}
}
public void cerrar()
{
try
{
conn.close();
}
catch (SQLException ex)
{
ex.printStackTrace();
}
}
}
y en el boton Instancio a la clase y llamo al metodo
codigo dle boton
if (btnImprimir == null) {
btnImprimir = new JButton("Imprimir");
btnImprimir.setBounds(16, 364, 90, 35);
btnImprimir.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
if(cBTConsulta.getSelectedItem().equals("Consulta de Ventas")){
//System.out.println(query);
String consulta="SELECT ......... from ..........";
Ventaclientes jasper = new VentasClientes();
jasper.runReporte(consulta);
}
}
});
}
return btnImprimir;
}
Espero y le sirva a alguien
Agradecimiento
Gracias muy bueno, nos fue de gran ayuda!!! nos sacaste de un buen apuro.
SALUDOS
GRACIAS MI HERMANO ME ESTA
GRACIAS MI HERMANO ME ESTA SIRVIENDO MUCHISIMO, YA QUE ESTOY EMPEZANDO A UTILIZAR IREPORT EN JAVA.