Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да генерирам ireport според въвеждането на потребителя в netbean gui

Първо, не сте посочили вида на приложението, което искате да създадете, така че съм малко общ относно отговора си. Също така не споменахте дали вече сте успели да изградите първия си отчет (имам предвид, без да приемате никаква информация от потребителя). И така, по-долу показвам необходимата част за генериране на JasperReport:

public void generateReport(ActionEvent actionEvent) throws FileNotFoundException {

JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(PopulateBean.createBeanCollection());
Map parameters = new HashMap();
 
try {
    InputStream is = new FileInputStream(new File("Source path to template.jrxml"));
    OutputStream os=new FileOutputStream(new File("Resulting report.pdf"));
     
    JasperDesign jasperDesign = JRXmlLoader.load(is);
    JasperReport jasperReport =
        JasperCompileManager.compileReport(jasperDesign);

    JasperPrint jasperPrint =
        JasperFillManager.fillReport(jasperReport, parameters, ds);

    JasperExportManager.exportReportToPdfStream(jasperPrint, os);
} catch (JRException e) {
      e.printStackTrace();
}

}

Този код трябва да бъде интегриран във вашето приложение. Частта, която искате, е:

Map parameters = new HashMap();

Трябва само да поставите въведените от потребителя данни в тази карта. Например, ако имате JSF страница, тогава можете да вземете стойността на нейния UI компонент и да съхраните в тази карта

parameters.put("type_code", getTypeCodeUIComponent().getValue());

В кода по-горе ще видите, че тази карта се предава на отчета:

JasperFillManager.fillReport(jasperReport, parameters, ds);

Единственото нещо, което остава, е да редактирате заявката си за отчет в iReport. Първо създавате параметър с точно същото име като това, което е вмъкнато в картата (в този пример "type_code". Забележете, че е чувствителен към малки и големи букви). Второ, трябва да използвате клауза WHERE, където филтрирате колоната тип въз основа на този параметър, вижте по-долу:И ето някои уроци:1 и 2

Надявам се това да помогне!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MyISAM срещу InnoDB

  2. Как да задам sql_mode в my.cnf в MySQL 8?

  3. Не позволявайте обратен съставен първичен ключ в MySQL

  4. MySQL ПОРЪЧАЙ ПО rand(), име ASC

  5. Разгръщане на сървър Percona в хибриден облак