2017-09-03 2 views
5

Ma source de données POJO contient essentiellement la structure suivante.
// Company.javaRendu imbriqué de jeu de données POJO

public class Company implements Serializable { 

private static final long serialVersionUID = 3130918429913376956L; 
private String name; 
private String address; 
private String contactPerson; 
private String mobile; 
private String fax; 
private String bankDetails; 
private String email; 
private List<Employee> emps; 
//getter and setter. 
    } 

// Employee.java

public class Employee implements Serializable{ 

/** 
* 
*/ 
private static final long serialVersionUID = -4473328670062370497L; 
private String name; 
private int age; 
private String designation; 
//getter and setter 
} 

Mon scénario est comme suit

  1. Un rapport PDF peut avoir plus d'une entreprise (ie Liste < Société>)
  2. Dans le cas de plus d'une société, il devrait commencer à la nouvelle page.
  3. Si la liste des employés passe à la page suivante, elle devrait répéter Header à la page suivante.

Mise en page - enter image description here Layout xml source
sortie Page 1

enter image description here
page 2
enter image description here

Il y a deux problèmes avec cette conception

  1. Employee Name En-tête se répète pour chaque employé.
  2. L'en-tête de la société (Comp Name -> Company A) ne doit être rendu qu'une seule fois.

Quelqu'un peut-il me suggérer une bonne approche? Merci d'avance.

Répondre

0

Déplacez le 'nom de l'entreprise' vers la ligne d'en-tête et définissez la propriété d'en-tête de ne pas répéter sur les nouvelles pages. Déplacez le 'Nom de l'employé' hors du groupe avec 'Employé', donc jusqu'au niveau où 'nom de l'entreprise' est maintenant.

Je pense que vous savez tout pour résoudre ce problème, il vous suffit de jouer un peu avec les groupements.