2010-04-28 38 views
6

Có thể sửa đổi chiều cao của băng chi tiết động trong báo cáo jasper không? Bởi vì trong ứng dụng của tôi, tôi cần phải tạo tài liệu pdf. Tôi đã sử dụng một tài liệu chính bên trong dải chi tiết của tài liệu chính mà tôi đã sử dụng một subreport. Báo cáo phụ sẽ lấy java bean làm nguồn dữ liệu. Hạt java này trả về một danh sách trường. Vì vậy, nếu chúng ta cố định kích thước của băng thì một thời gian tất cả các giá trị không được kéo dài trong tài liệu. Có thể thay đổi dải chi tiết động không.Làm thế nào để thay đổi chiều cao băng động?

Trả lời

6

Bạn có thể sử dụng JRXmlLoader.load() để tạo đối tượng JasperDesign ngoài tệp mẫu. Sử dụng phương pháp như getPageHeader() trên kết quả để truy xuất ban nhạc bạn muốn truyền giá trị trả lại cho JRDesignBand: trả về đối tượng thực hiện JRBand, nhưng đối với JasperDesign, nó luôn là JRDesignBand. Trong lớp JRDesignBand có phương thức setHeight().

Cuối cùng, sử dụng JasperCompileManager.compileReport() để tạo một JasperReport từ (hiện đã sửa đổi) JasperDesign.

6

JasperDesign jasper = JRXmlLoader.load(objeto.getRealPath("/reports/reportTaxType.jrxml")); 
JRDesignBand banda = (JRDesignBand) jasper.getDetail(); 
banda.setHeight(2000); //YOU CAN SET THE SIZE THAT YOU WANT    
JasperReport report2 = JasperCompileManager.compileReport(jasper); 
JasperPrint print = JasperFillManager.fillReport(report2, parameters, ds); 
Các vấn đề liên quan