1

首先,我是使用 jasper ireport 的初学者,当用户在 jtextfield 中输入一个值,然后按下按钮时,我试图生成一个 jasper ireport,它应该为发票生成一份 PDF 报告。这是我第一次将 java netbeans 与 jasper ireport 一起使用。

那么,当用户将其值放入 jtextfield 然后按下按钮时,如何生成 ireport,然后它应该使用 java netbeans 生成 PDF 格式的发票报告?

我在 ireport 4.7.1 中创建了一张发票,并为发票的打印按钮发布了下面的代码,但是当我点击该按钮时,它会加载位于我的项目中的所有发票。

String invreport = "C:\\Users\\Silent Heart\\Documents\\NetBeansProjects\\SIS\\src\\reports\\invoice.jrxml";
            JasperReport jpr = JasperCompileManager.compileReport(invreport);
            JasperPrint jpp = JasperFillManager.fillReport(jpr, null,conn);
            JasperViewer.viewReport(jpp);

这是正在发生的事情的快照:

图片

4

1 回答 1

1

我解决了我的问题。

首先" testid "在 jasper ireport 参数区域中添加参数,然后在 jasper ireport 中的数据库查询中添加此参数,例如

"select * from test where id = $P{testid}"

然后为按钮添加以下代码:

//              parameter
                    String para = txt1.getText();

                    //load report location
                    FileInputStream fis = new FileInputStream("\\src\\test\\report1.jrxml");
                    BufferedInputStream bufferedInputStream = new BufferedInputStream(fis);

                    //set parameters
                    Map map = new HashMap();
                    map.put("testid", para);

                    //compile report
                    JasperReport jasperReport = (JasperReport) JasperCompileManager.compileReport(bufferedInputStream);
                    JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, map, conn);


                    //view report to UI
                        JasperViewer.viewReport(jasperPrint, false);   

供 PDF 使用" JasperExportManager "

我希望它对你有用。

谢谢..

于 2012-12-08T14:48:17.940 回答