用戶系統(tǒng)在左邊一般有目錄樹,點擊報表節(jié)點就會在右側(cè)網(wǎng)頁的iframe中顯示出報表,同時點擊的時候也會傳遞一些參數(shù)給網(wǎng)頁,比如時間和用戶信息等,希望網(wǎng)頁中的報表能夠獲取到傳遞過來的參數(shù),下面就通過網(wǎng)頁報表FineReport來簡單介紹一下。
網(wǎng)頁報表中如何獲取url中的參數(shù)并傳遞給iframe――工具/原料網(wǎng)頁報表FineReport7.1.1大?。?48.2M 適用平臺:windows/linux網(wǎng)頁報表中如何獲取url中的參數(shù)并傳遞給iframe――方法/步驟
網(wǎng)頁報表中如何獲取url中的參數(shù)并傳遞給iframe 1、
如下圖,點擊左側(cè)“url參數(shù)傳給iframe中的報表”節(jié)點時,即打開geturlpara.html?report=demo/parameter/simple.cpt&start=2010-01-01&end=2010-03-31&per=1,對應(yīng)網(wǎng)頁就會在中間區(qū)域顯示出來:
網(wǎng)頁報表中如何獲取url中的參數(shù)并傳遞給iframe 2、
實現(xiàn)代碼
將報表生成網(wǎng)頁時,給網(wǎng)頁添加onload事件,首先獲取url中的參數(shù),然后嫁接到iframe的src上,或者通過獲得的參數(shù)拼接出完整的報表url賦給iframe的src。
<html>
<head>
<title>FineReport Demo</title>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<script type="text/javascript" src="/WebReport/ReportServer?op=emb&resource=finereport.js"></script>
<script type="text/javascript">
function autoLoad(){
//返回從問號 (?) 開始的 URL(查詢部分)
var paraString = location.search;
//多個參數(shù)用&分隔,將參數(shù)字符串轉(zhuǎn)為數(shù)組,使每個參數(shù)值存于一個數(shù)組元素中

var paras = paraString.split("&");
//每個數(shù)組元素中"="后面的值即參數(shù)值
var reportName = paras[0].substr(paras[0].indexOf("=") + 1);
var start = paras[1].substr(paras[1].indexOf("=") + 1);
var end = paras[2].substr(paras[2].indexOf("=") + 1);
var per = paras[3].substr(paras[3].indexOf("=") + 1);
//使用獲取的參數(shù)值拼接出最終的url
var reportURL = "/WebReport/ReportServer?reportlet=" + reportName + "&start=" + start + "&end=" + end + "&per=" + per;
//url中可能包含中文或特殊字符因此需要進行編碼轉(zhuǎn)換,注意需要先引入finereport.js
reportURL = FR.cjkEncode(reportURL);
//將新的報表路徑賦給報表所在iframe的src
document.getElementById("reportFrame").src = reportURL;
}
//加載網(wǎng)頁時調(diào)用autoLoad方法
window.onload = autoLoad;
</script>
</head>
<body>
<iframe id="reportFrame" width="900" height="400"></iframe>
</body>
</html>
愛華網(wǎng)本文地址 » http://www.klfzs.com/a/8104550103/299877.html
愛華網(wǎng)



