2013-03-26 3 views
0
public void showApplicantCountVsJobBoardsSimpleReport(Collection<ApplicantCountVsJobBoardsDTO> applicantCountVsJobBoardsList,HttpServletRequest request) throws ColumnBuilderException,ClassNotFoundException, JRException {   
      initStyles(); 
      FastReportBuilder drb = new FastReportBuilder(); 
      setTitleProperties(drb,"Job Board by Company and Job Title"); 
      reportTitle = "Job-Board-by-Company-and-Job-Title";  
      DynamicReport dr = createApplicantCountVsJobBoardsSimpleReport(drb, applicantCountVsJobBoardsList); 
      jp = DynamicJasperHelper.generateJasperPrint(dr, new ClassicLayoutManager(), new JRBeanCollectionDataSource(applicantCountVsJobBoardsList)); 
      request.getSession().setAttribute("JasperPrintObject", jp); 
      request.getSession().setAttribute("ReportName", reportTitle); 
      displayReport(request, 0);  
     } 

     private DynamicReport createApplicantCountVsJobBoardsSimpleReport(FastReportBuilder drb, Collection<ApplicantCountVsJobBoardsDTO> applicantCountVsJobBoardsList) { 
      AbstractColumn columnCompanyName = setStringColumnProperties("companyName","Company Name",100); 
      drb.addColumn(columnCompanyName); 

      AbstractColumn columnJobTitle = setStringColumnProperties("jobName","Job Title",200);  
      drb.addColumn(columnJobTitle);  

      AbstractColumn columnTotal = setStringColumnProperties("totalApplicantForJob","Total",100); 
      drb.addColumn(columnTotal);  

      return drb.build(); 
     } 


public class ApplicantCountVsJobBoardsDTO { 

    private String companyName; 
    private String jobName; 
    private Integer totalApplicantForJob; 
    private HashMap<String, Integer> jobBoard; 

    public String getCompanyName() { 
     return companyName; 
    } 
    public void setCompanyName(String companyName) { 
     this.companyName = companyName; 
    } 
    public String getJobName() { 
     return jobName; 
    } 
    public void setJobName(String jobName) { 
     this.jobName = jobName; 
    } 
    public Integer getTotalApplicantForJob() { 
     return totalApplicantForJob; 
    } 
    public void setTotalApplicantForJob(Integer totalApplicantForJob) { 
     this.totalApplicantForJob = totalApplicantForJob; 
    } 
    public HashMap<String, Integer> getJobBoard() { 
     return jobBoard; 
    } 
    public void setJobBoard(HashMap<String, Integer> jobBoard) { 
     this.jobBoard = jobBoard; 
    } 
} 

У меня нет никакой идеи добавить задание в элементы отчета. Каждый элемент в объекте jobBoard будет столбцом в моем отчете. Пожалуйста, помогите мне. Я новичок в Джаспере. :(Использование объекта HashMap в отчете Dynamic Jasper

Я использую net.sf.jasperreports и ar.com.fdvs.dj банки

+0

У вас есть необходимость создать шаблон отчета с помощью кода? Вы можете использовать iReport для создания своего шаблона отчета и использовать скомпилированный файл .jasper для заполнения отчета данными и экспорта. – Atrix1987

+0

№ I необходимо сделать так :( – 1355

+0

@ 1355 Вы проверили какие-либо образцы? –

ответ

0

В этом случае вам придется использовать подотчету особенность IReport инструмента, в котором вы проходите HashMap в качестве источника данных и THER в этом докладе вы решите макет и дизайн ваших

+0

Не могли бы вы дать мне также поток кода. Я также видел создание суб-отчета. Пытался. но не работает. :( – 1355

+0

вам нужно добавить поле jobBoard и установить его тип данных как HashMap. Затем вы передаете это в подзаголовке в качестве источника данных. Надеюсь, вы используете инструмент iReport для настройки макета вашего отчета. Я могу помочь вам, но я не получая код. Если вы можете дать мне свой идентификатор электронной почты, я отправлю вам пример кода, который использует подзаголовок –

Смежные вопросы