iReport는 고객이 제품 인쇄용 카탈로그를 생성 할 수있게합니다. 이 프로세스는 훌륭하게 작동합니다. 우리가 어려움을 겪은 것은 이러한 제품 카탈로그의 목차를 만드는 방법입니다.iReport/JasperReports에서 목차를 작성하려면 어떻게해야합니까?
Scriptlet 기능을 사용하여이 기능을 사용하기로 결정했습니다. 우리의 보고서는 모두 마스터 보고서와 하위 보고서가 있다는 점에서 모두 마스터 세부 사항입니다.
처음에는 스크립트 보고서를 마스터 보고서에 첨부하고 세부 보고서에서 모든 제품 번호를 수집하는 방법을 찾은 다음 해당 값을 마스터 보고서로 다시 전달하려고했습니다. 하위 보고서의 기본 변수 (예 : PAGE_NUMBER, COLUMN_NUMBER, PAGE_COUNT, COLUMN_COUNT) 만 마스터 보고서로 다시 전달하는 방법을 알아낼 수 없습니다.
그렇다면 세부 정보 보고서에 Scriptlet을 첨부 해 보았습니다. 음, 세부 정보 보고서는 마스터가있는 페이지를 알지 못하므로 마스터의 page_number를 상세 보고서의 변수에 전달하기 시작했습니다. 마스터에서 페이지 번호를 건너 뛸 때까지 세부 사항이 오버 플로우 될 수 있다는 것을 제외하고는 효과적이었습니다. 즉, 하위 보고서에서 2 페이지 분량 이상의 데이터를 반환하면 다음에 하위 보고서를 호출 할 때 페이지 번호가 누락됩니다.
이렇게하는 방법?
이 전체 프로세스는 여전히 보고서 끝 부분에 목차를 표시합니다. – Andrea
아니요, 실제 코드를 실행하는 Java 코드에서 배열의 JasperPrint 객체를 수집합니다. 목차가 작성되면 자동으로 배열의 시작 부분에 삽입됩니다. – AKWF