FEDARK
unread,Jun 15, 2009, 8:07:02 PM6/15/09Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to JavaSOS
HOLA CHICOS
¿COMO PUEDO HACER PARA IMPRIMIR UN CONJUNTO DE FACTURAS CON SU
CORRESPONDIENTE DETALLE EN UNA SOLA IMPRESION.?
ES DECIR POR EJM: IMPRIMIR FACTURA DE FECHA 20/06/2009 A 25/06/2009 EN
ESTE RANGO DE FECHAS SUPONGAMOS QUE HAY 5 FACTURAS, POR LO QUE EL
REPORTE SE DEBERIA GENERAR CON 5 FACTURAS CON SU DETALLE, LO QUE NO SE
ES COMO HACERLO.
PARA UNA SOLA FACTURA NO TENGO PROBLEMAS, LO QUE PASA ES Q EN LA
REALIDAD SI QUIERO IMPRIMIR VARIAS FACTURAS SERIA MUY TEDIOSO GENERAR
REPORTES DE FACTURAS UNO POR UNO.
TENGO ESTA CLASE PARA GENERAR REPORTES, QUE CON UN DTO FUNCIONA
CORRECTAMENTE. EN EL TIPO DE DATO COLLECTION SE CARGA LO QUE VA EN EL
DETALLE Y EN EL HASHMAP LOS PARAMETROS QUE LE PASEMOS.
MUCHAS GRACIAS POR SU RESPUESTA.
package servicios;
import java.util.Collection;
import java.util.Map;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
import net.sf.jasperreports.view.JasperViewer;
import java.awt.Dialog;
import javax.swing.JOptionPane;
public class Reporte{
private String reportName;
private Collection lista;
private Map map;
public Reporte(String reportName, Collection lista, Map map) {
this.reportName = reportName;
this.lista = lista;
this.map = map;
}
public void imprimir(){
try{
//1-Llenar el datasource con la informacion de la base de
datos o de donde este, en este caso "hardcode"
JRBeanCollectionDataSource dataSource = new
JRBeanCollectionDataSource(lista);
//2-Compilamos el archivo XML y lo cargamos en memoria
JasperReport jasperReport =
JasperCompileManager.compileReport(reportName+".jrxml");
//3-Llenamos el reporte con la informaci�n (de la DB) y
par�metros necesarios para la consulta
JasperPrint jasperPrint = JasperFillManager.fillReport
(jasperReport, map, dataSource);
//4-Exportamos el reporte a pdf y lo guardamos en disco
//JasperExportManager.exportReportToPdfFile(jasperPrint,
reportName+".pdf");
JasperViewer jviewer = new JasperViewer(jasperPrint,
false);
jviewer.setTitle(reportName+".pdf");
jviewer.setVisible(true);
}catch (Exception e){
JOptionPane.showMessageDialog(null, e.getMessage(), "",
javax.swing.JOptionPane.ERROR_MESSAGE);
e.printStackTrace();
}
}
}