2011-09-30 101 views
0

的JavaBean:的JasperReport - JavaBean的數據源來自官方文檔官方文檔

http://jasperforge.org/uploads/publish/jasperreportswebsite/trunk/sample.reference/datasource/index.html#javabeandatasources

「例如,要檢索名爲地址的報表字段的值,程序將嘗試通過反射的方法調用在當前JavaBean對象上調用getAddress()。「

根據我的經驗,我幾乎可以確定它不在當前對象上,而是在作爲集合傳遞的所有JavaBean對象(給定類型的)上或一個列表。

當我嘗試打印bean的特定實例的屬性時,它將打印該bean的所有實例的所有值。任何人都知道如何通過這個?

回答

1

如何打印屬性?如果是通過將textField置於細節帶中,那麼該行爲是正確的。這是因爲數據集中的每個記錄都會重複一次細節帶。如果您正在使用bean數據源,這意味着訪問來自詳細信息帶的字段address將針對集合中的每個bean調用getAddress()

如果您不想重複某個元素,請將其移動到其他樂隊。或者,如果您只想打印特定bean的值,請在您的元素中添加printWhenExpression

+0

首先,感謝您的回覆。我實際上想要傳遞特定bean的值,好奇的是我正在考慮printWhenExpression,但它並沒有讓我覺得這是一個「清晰」的解決方案。我是否必須考慮另一個將子bean與父bean關聯的bean屬性?或者有更簡潔的方法來使用printWhenExpression?我的問題更完整的解釋在這裏:http://jasperforge.org/plugins/espforum/view.php?group_id=102&forumid=103&topicid=92360#92360。再次感謝。 – nunopato

相關問題