1、新建超鏈接
隨意點擊一個單元格右擊,選擇 超級鏈接
2、在彈出的窗口中選擇JavaScript腳本 如圖:
其中紅框框出的是幾個要點 ,左邊的就不講了,右上角的參數cc是設置了公式remoteServletURL 能自動獲取報表路徑 如圖:
右下角的js代碼是設置一個iframe彈窗,代碼如下:
1 var url =FR.cjkEncode("?formlet=indicatorDetailedTypeFirst.frm&companycode=0102010101&intermediarycode=0201072911&name=趙振強"); 2 var iframe = $("<iframe id='inp' name='inp' width='100%' height='100%' scrolling='yes' frameborder='0'>"); // 對話框內 iframe 參數的命名,默認寬高占比是 100%,可向下滾動 3 iframe.attr("src", cc+url); 4 //iframe.attr("src", cc+"?formlet=indicatorDetailedTypeFirst.frm&name=趙振強"); // 給 iframe 添加 src 屬性 5 var o = { 6 width : 700, //對話框寬度 7 height: 500 //對話框高度 8 }; 9 FR.showDialog("添加", o.width, o.height, iframe,o);//彈出對話框
其中需要注意的是如果參數中有 中文需要將url包裹在編碼FR.cjkEncode()里,否則傳參中的中文將會是亂碼:如圖
需要注意的是:如果放到工程js中會報FR沒定義,我找了半天沒找到怎么引入帆軟的js,網上百度看到有人貼出了cjkEncode的源碼,直接加到js方法中調用即可
$.GPageModule([""],function(){ var modelType = "indicatorDetailedTypeFirst.frm"; var companycode = $("#companycode").val(); var intermediarycode =$("#intermediarycode").val(); var name =$("#name").val(); var reportURL = cjkEncodeNew(GlobalParam.context+"/ReportServer?formlet=erm/sj/"+modelType+"&companycode="+companycode+"&intermediarycode="+intermediarycode+"&name="+name); $("#viewIndicatorDetailedType").attr("src",reportURL); }); function cjkEncodeNew(text) { if (text == null) { return ""; } var newText = ""; for (var i = 0; i < text.length; i++) { var code = text.charCodeAt (i); if (code >= 128 || code == 91 || code == 93) {//91 is "[", 93 is "]". newText += "[" + code.toString(16) + "]"; } else { newText += text.charAt(i); } } return newText; }
原創總結。