Ayuda con un Reporte

Algien que me pueda ayudar

con un reporte que estoy haciendo lo trabajo en netbeans con el ireport, el problema que tengo es que tengo k generar un pdf de 14 paginas de diferente formato weno eso ya lo hise pero para yenar la informacion manejo 2 arraylist y cuando yeno las hojas de mi documento solo puedo vaciar la informacion de un arraylist y el otro no corre mira

package Reportes;

import generadorcedulas.ListaFinalAseg;
import generadorcedulas.ListaR;
import java.util.ArrayList;
import java.util.List;
import net.sf.jasperreports.engine.JRDataSource;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRField;

public class ListaRDataSource implements JRDataSource {
   
    private List<ListaR> ListaReport = new ArrayList<ListaR>();
    private List<ListaFinalAseg> ListaReportTra = new ArrayList<ListaFinalAseg>();
    private int ind = -1;
    private int indice;
    // INDICE OBTIENE ELVALOR DE UN FOR DEL METODO PARA GENERAR EL REPORTE PARA QUE HAGA UN DOCUMENTO POR PATRON

    public void setListaReport(List ListaReport){
        this.ListaReport = ListaReport;
        System.out.println("Report");
    }
     public void setListaReportTra(List ListaReportTra){
        this.ListaReportTra = ListaReportTra;
         System.out.println("ReportT");
    }
   
    public void setIndice(int indice){
       this.indice = indice;
        ind = this.indice;
    }
   
    @Override
    public boolean next() throws JRException {
        System.out.println("next()");
        if(ind++ == indice){
           return true;
        }else{
            return false;
        }
       
    }
   
    @Override
    public Object getFieldValue(JRField jrf) throws JRException {
        System.out.println("getFieldValue");
        Object valor = null;
       
        if("Delegación".equals(jrf.getName())){
            valor = this.ListaReport.get(ind).getDELEGACION();
            System.out.println("ifDelegacion");
        }
        else if("Subdelegacion".equals(jrf.getName())){
            valor = this.ListaReport.get(ind).getSUBDELEGACION();
            System.out.println("ifSubdelegacion");
        }
        else if("Municipio".equals(jrf.getName())){
            valor = this.ListaReport.get(ind).getMUNICIPIO();
            System.out.println("ifMunicipio");
        }
        else if("Fecha".equals(jrf.getName())){
            valor = this.ListaReport.get(ind).getFECHA();
            System.out.println("Fecha");
        }
        else if("RFC".equals(jrf.getName())){
            valor = this.ListaReport.get(ind).getRFC();
            System.out.println("RFC");
        }
        else if("Registro".equals(jrf.getName())){
            valor = this.ListaReport.get(ind).getREG();
            System.out.println("Registro");
        }
        else if("Periodo".equals(jrf.getName())){
            valor = this.ListaReport.get(ind).getPERIODO();
            System.out.println("Periodo");
        }
        else if("Nombre".equals(jrf.getName())){
            valor = this.ListaReport.get(ind).getNOMBRE();
            System.out.println("ifNombrePatron");
        }
        else if("NumCC".equals(jrf.getName())){
            valor = this.ListaReport.get(ind).getNUMCREDITO();
            System.out.println("NUMCC");
        }
        else if("NumCM".equals(jrf.getName())){
            valor = this.ListaReport.get(ind).getNUMMULTA();
            System.out.println("NUMCM");
        }
        else if("Domicilio".equals(jrf.getName())){
            valor = this.ListaReport.get(ind).getDOM();
            System.out.println("DOMICILIO");
        }
        else if("Actividad".equals(jrf.getName())){
            valor = this.ListaReport.get(ind).getACT();
        }
        else if("C.P.".equals(jrf.getName())){
            valor = this.ListaReport.get(ind).getPOS();
        }
        else if("Loc".equals(jrf.getName())){
            valor = this.ListaReport.get(ind).getLOC();
        }
        else if("Del".equals(jrf.getName())){
            valor = this.ListaReport.get(ind).getDEL();
        }
        else if("Contri".equals(jrf.getName())){
            valor = this.ListaReport.get(ind).getCONTRI();
        }
        else if("Sec".equals(jrf.getName())){
            valor = this.ListaReport.get(ind).getSEC();
        }
        else if("Mun".equals(jrf.getName())){
            valor = this.ListaReport.get(ind).getMUN();
        }
        else if("Sub".equals(jrf.getName())){
            valor = this.ListaReport.get(ind).getSUB();
        }
        else if("Doc".equals(jrf.getName())){
            valor = this.ListaReport.get(ind).getDOC();
        }
        else if("Titular".equals(jrf.getName())){
            valor = this.ListaReport.get(ind).getTITULAR();
        }
        else if("PatronalN".equals(jrf.getName())){
            valor = this.ListaReport.get(ind).getRPATRONAL();
        }
        else if("ObreraAC".equals(jrf.getName())){
            valor = this.ListaReport.get(ind).getCEAVOBRERA();
        }
        else if("PatronalO".equals(jrf.getName())){
            valor = this.ListaReport.get(ind).getCEAVPATRONAL();
        }
        else if("TotalOP".equals(jrf.getName())){
            valor = this.ListaReport.get(ind).getTOTAL();
             System.out.println("TotalOP");  
        }
        else if("SumaDias".equals(jrf.getName())){
            valor = this.ListaReport.get(ind).getDIAS();
            System.out.println("SUMADIAS");
        }
        else if("Cotizantes".equals(jrf.getName())){
            valor = this.ListaReport.get(ind).getCOTIZANTES();
            System.out.println("COTIZANTES");
        }
        // EL PROBLEMA ES QUE LOS VALORES QUE ESTAN EN EL FOR NO LOS REGRESA SOLO LOS RECORRE Y TOMA EL ULTIMO NO TOMA CADA UNO DE ACUERDO AL INDICE
        for(int i = 0; i <this.ListaReportTra.size();i++){
           
            if(this.ListaReportTra.get(i).getClaveP().equals(this.ListaReport.get(ind).getUNIT())){
               
                if("NombreT".equals(jrf.getName())){
                    valor = this.ListaReportTra.get(i).getNombre();
                    System.out.println("NombreTrabajador");
                }
                else if("Curp".equals(jrf.getName())){
                    valor = this.ListaReportTra.get(i).getCurp();
                }
            }
        }
       return valor;
       
    }
}

El caso es mejor sepro el manejo de listas y genero el documento en 2 pdf y lo necesito en uno no sabes un formar de juntarlos o hacer el documento de otra forma???????'

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de neko069

Aquí tienes 3 ligas que igual

Aquí tienes 3 ligas que igual te sirven de guía..

ésta
ésta
ésta

Puedes meter un array dentro de otro

Recuerdo que hace tiempo tuve algo parecido pero para ser honesto no recuerdo como lo resolví pero creo que basto con poner un ArrayList dentro del otro y con eso resolvi el tema

Entonces puede tener una clase que se llame más o menos ReporteCompleto que sé yo; y luego poner como atributos Un ArrayList que contenga al otro

Espero te sirva como tip

Saludos

Imagen de gelo1002

gracias por la ayuda

oie me dices que haga un solo ArrayList por que si es asi me llena el doc con el primer ArrayList y el la parte que deb llenar el otro no me lo llena o no entendi tu segurencia xD

Saludos