1.問題描述
現(xiàn)在用戶開發(fā)的系統(tǒng)基本上趨向于BS架構(gòu)的瀏覽器/服務(wù)器模式,這些系統(tǒng)可能由不同的語言開發(fā),如HTML、ASP、JSP、PHP等,因此需要將制作好的報表嵌入到這些頁面中。
FineReport制作出的報表可以通過Frame框架集成到Web頁面中。
2.將報表顯示在Frame框架內(nèi)
2.1集成方法
報表作為頁面的一部分,可以以iFrame方式嵌入在網(wǎng)頁中,指定iFrame的src即可。
1. <iframe id="reportFrame" width="900" height="400" src="/WebReport/ReportServer?reportlet=/doc/Primary/Parameter/Parameter.cpt"></iframe>
用戶可以控制iframe的位置來控制報表在頁面的什么地方顯示,還能夠通過iframe獲取到報表,從而獲取報表內(nèi)容或調(diào)用報表內(nèi)部現(xiàn)成的方法,我們在后續(xù)章節(jié)會進行介紹。
注:此方法iframe的src會顯示出完整的報表路徑,尤其在有參數(shù)的情況下,可以使用post方式向iframe提交請求,這樣src里有不會出現(xiàn)具體的參數(shù)了。
2.2示例
我們以HTML為例,將報表嵌入到一個HTML頁面中:
1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2. <html>
3. <head>
4. <title>FineReport Demo</title>
5. <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
6. </head>
7. <body>
8. <iframe id="reportFrame" width="900" height="400" src="/WebReport/ReportServer?reportlet=/doc/Primary/Parameter/Parameter.cpt"></iframe>
9. </body>
10. </html>
2.3效果查看
在瀏覽器中輸入http://localhost:8075/WebReport/page_demo/Simple.html,效果如下:

已完成示例請參照%FR_HOME%\WebReport|page_demo\Simple.html
3.不支持將報表顯示在div內(nèi)
若您希望自己系統(tǒng)頁面中的按鈕調(diào)用FineReport內(nèi)部現(xiàn)成的js方法如(打印方法),需要加載FineReport的js文件,FR的js采用jquery v1.9.2框架;
實際情況下,一個頁面中可能不僅僅只有報表部分,用戶可能會加載其他版本的jquery,為避免js沖突,我們建議將報表內(nèi)容顯示在iFrame中,而不要顯示在div中。
需要調(diào)用FineReport內(nèi)部的js方法時,可以通過iFrame獲取報表再調(diào)用方法,具體可參考js使用說明文檔。