2011-12-06 28 views
5

Tôi có một Báo cáo chính trong jaspersoft. Bên trong Báo cáo chính tôi đã sử dụng hai Báo cáo con. Bên trong một trong các subreport tôi có một tổng tiền mặt biến. Tôi phải sử dụng biến Total Cash này trong bản tin con tiếp theo. Có thể vượt qua một biến từ một SubReport đến một SubReport. Nếu không thì làm thế nào tôi có thể vượt qua biến từ SubReport đến Báo cáo chính.trả về biến từ một báo cáo con đến một Báo cáo con khác trong Jaspersoft Ireport

Cảm ơn.

+0

Tôi đã tìm thấy giải thích tuyệt vời này tại đây: https://community.jaspersoft.com/questions/538582/ireports-401-return-values ​​ – dellasavia

Trả lời

1

Bạn có thể nhận giá trị trả lại từ báo cáo phụ cho báo cáo chính bằng cách sử dụng phần tử returnValue. Đoạn mã sau đặt giá trị $ V {result} trong báo cáo chính thành giá trị của $ V {total} trong báo cáo phụ. Điều này rõ ràng hơn nhiều trong iReport thay vì mã jrxml. Hãy xem Subreports để biết thêm thông tin.

<subreport isUsingCache="true"> 
    <reportElement x="18" y="11" width="189" height="77" key="subreport-1" /> 
    <connectionExpression> 
    <![CDATA[$P{REPORT_CONNECTION}]]> 
</connectionExpression> 
    <returnValue subreportVariable="total" toVariable="result" /> 
    <subreportExpression class="java.lang.String"> 
    <![CDATA["C:/Program Files/JasperSoft/iReport-3.0.0/compile/Untitled_report_2.jasper"]]> 
</subreportExpression> 
</subreport> 
0

Tuyệt đối bạn có thể:

Chỉ cần thiết lập giá trị trả về từ subreport đầu tiên để biến mong muốn của bạn trong báo cáo chính, sau đó về tham số subreport đường chuyền thứ hai của bạn với giá trị của biến trước đó của bạn. Nhưng bạn sẽ nhận được giá trị null nếu bạn đặt subreport thứ hai trong cùng một băng thông chi tiết với subreport đầu tiên, sau đó cố gắng thêm băng thông chi tiết hơn và đặt subreport thứ hai của bạn ở đây.

+0

Cảm ơn ông đã hiểu khi tôi thêm một dải chi tiết khác được giải quyết –

Các vấn đề liên quan