Java 在动态Jasper报表中使用HashMap对象 public void showApplicationCountVsJobBoardsSimpleReport(集合ApplicationCountVsJobBoardsList,HttpServletRequest请求)抛出ColumnBuilderException、ClassNotFoundException、JRException{ initStyles(); FastReportBuilder drb=新的FastReportBuilder(); 固定产权(drb,“按公司和职务划分的职务委员会”); reportTitle=“按公司和职务划分的职务委员会”; DynamicReport dr=createApplicantCountVsJobBoardsSimpleReport(drb,ApplicationCountVSJobBoardsList); jp=DynamicJasperHelper.generateJasperPrint(dr,new ClassicLayoutManager(),new JRBeanCollectionDataSource(applicationcountvsjobboardslist)); request.getSession().setAttribute(“JasperPrintObject”,jp); request.getSession().setAttribute(“ReportName”,reportTitle); 显示报告(请求,0); } 专用DynamicReport createApplicantCountVsJobBoardsSimpleReport(FastReportBuilder drb、Collection ApplicationCountVSJobBoardsList){ AbstractColumnCompanyName=SetString列属性(“公司名称”、“公司名称”,100); drb.addColumn(columnCompanyName); AbstractColumn columnJobTitle=setStringColumnProperties(“jobName”,“Job Title”,200); drb.addColumn(columnJobTitle); AbstractColumnColumnTotal=SetString列属性(“TotalApplicationForJob”,“Total”,100); drb.addColumn(columnTotal); 返回drb.build(); } 公共类应用程序CountVsJobBoardsTo{ 私有字符串companyName; 私有字符串jobName; 专用整数TotalApplicationForJob; 私有HashMap作业板; 公共字符串getCompanyName(){ 返回公司名称; } public void setCompanyName(字符串companyName){ this.companyName=companyName; } 公共字符串getJobName(){ 返回作业名; } public void setJobName(字符串jobName){ this.jobName=jobName; } 公共整数GetTotalApplicationForJob(){ 返回作业的总应用程序; } public void setTotalApplicationForJob(整数TotalApplicationForJob){ this.totalapplicationforjob=totalapplicationforjob; } 公共HashMap getJobBoard(){ 返回工作板; } public void setJobBoard(HashMap jobBoard){ this.jobBoard=工作板; } }

Java 在动态Jasper报表中使用HashMap对象 public void showApplicationCountVsJobBoardsSimpleReport(集合ApplicationCountVsJobBoardsList,HttpServletRequest请求)抛出ColumnBuilderException、ClassNotFoundException、JRException{ initStyles(); FastReportBuilder drb=新的FastReportBuilder(); 固定产权(drb,“按公司和职务划分的职务委员会”); reportTitle=“按公司和职务划分的职务委员会”; DynamicReport dr=createApplicantCountVsJobBoardsSimpleReport(drb,ApplicationCountVSJobBoardsList); jp=DynamicJasperHelper.generateJasperPrint(dr,new ClassicLayoutManager(),new JRBeanCollectionDataSource(applicationcountvsjobboardslist)); request.getSession().setAttribute(“JasperPrintObject”,jp); request.getSession().setAttribute(“ReportName”,reportTitle); 显示报告(请求,0); } 专用DynamicReport createApplicantCountVsJobBoardsSimpleReport(FastReportBuilder drb、Collection ApplicationCountVSJobBoardsList){ AbstractColumnCompanyName=SetString列属性(“公司名称”、“公司名称”,100); drb.addColumn(columnCompanyName); AbstractColumn columnJobTitle=setStringColumnProperties(“jobName”,“Job Title”,200); drb.addColumn(columnJobTitle); AbstractColumnColumnTotal=SetString列属性(“TotalApplicationForJob”,“Total”,100); drb.addColumn(columnTotal); 返回drb.build(); } 公共类应用程序CountVsJobBoardsTo{ 私有字符串companyName; 私有字符串jobName; 专用整数TotalApplicationForJob; 私有HashMap作业板; 公共字符串getCompanyName(){ 返回公司名称; } public void setCompanyName(字符串companyName){ this.companyName=companyName; } 公共字符串getJobName(){ 返回作业名; } public void setJobName(字符串jobName){ this.jobName=jobName; } 公共整数GetTotalApplicationForJob(){ 返回作业的总应用程序; } public void setTotalApplicationForJob(整数TotalApplicationForJob){ this.totalapplicationforjob=totalapplicationforjob; } 公共HashMap getJobBoard(){ 返回工作板; } public void setJobBoard(HashMap jobBoard){ this.jobBoard=工作板; } },java,jasper-reports,dynamic-jasper,Java,Jasper Reports,Dynamic Jasper,我没有任何想法将工作板项目添加到报告中。。jobBoard对象中的每个项目都将成为我报告中的一列。请帮帮我。我是贾斯珀的新手( 我正在使用net.sf.jasperreports和ar.com.fdvs.djjars在这种情况下,您必须使用ireport工具的子报表功能,在该功能中,您将hashmap作为数据源传递,并在该报表中决定报表的布局和设计。您是否有通过代码创建报表模板的特定需求?您需要吗可以使用iReport创建报告模板,并使用编译的.jasper文件用数据填充报告并将其导出。否。我需

我没有任何想法将工作板项目添加到报告中。。jobBoard对象中的每个项目都将成为我报告中的一列。请帮帮我。我是贾斯珀的新手(


我正在使用
net.sf.jasperreports
ar.com.fdvs.dj
jars

在这种情况下,您必须使用ireport工具的子报表功能,在该功能中,您将hashmap作为数据源传递,并在该报表中决定报表的布局和设计。

您是否有通过代码创建报表模板的特定需求?您需要吗可以使用iReport创建报告模板,并使用编译的.jasper文件用数据填充报告并将其导出。否。我需要执行以下操作:(@1355)你检查过任何示例吗?我尝试过使用子报表。但我无法成功..请查看:你能同时给我代码流吗?我也看到了子报表创建。尝试过。但不起作用:(您必须添加jobBoard字段并将其数据类型设置为HashMap。然后您将此作为数据源传递到子报表中。希望您使用iReport工具设置报表的布局。我可以进一步帮助您,但我不会获取您的代码。如果您能给我您的电子邮件ID,我将向您转发使用子报表的示例代码。)
    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;
    }
}