注意 |
---|
提示:本文档的示例代码仅适用于本文档中的示例报表/场景。若实际报表/场景与示例代码无法完全适配(如使用功能不一致,或多个宏代码冲突等),需根据实际需求开发代码。 |
如何在宏代码中打开一个自定义的对话框,请参考如下示例。
注意:该代码适用于 smartbi v7版本
示例代码:
代码块 | ||||
---|---|---|---|---|
| ||||
// 类型:ClientSide 对象:page 事件: onRenderPage function main(pagesimpleReport, pageContextsimpleReportContext) { var dialogFactory = jsloader.resolve("freequery.dialog.dialogFactory"); var dialogConfig = { title: "test open report", size: dialogFactory.size.LARGE, dialogType: "modeless", fullName: "freequery.dialog.BaseDialogEx", closeBeforeCallback: true }; var data = {}; var win = dialogFactory.showDialog(dialogConfig, data, doOnCloseDlg, this); setTimeout(function() { openReport(win.document, win)) }, 500); } function doOnCloseDlg(isOk) { //关闭对话框后的回调事件 //alert(isOk); } function openReport(doc, win) { // 替换成你的目标资源的url var url = 'http://zhi:8080192.168.1.16:19090/smartbi/vision/openresource.jsp?resid=I2c94908d162343520116234cb928003dI40288190015b8ab58ab5d18b015b8af5608e083f&refresh=true&user=admin&password=manageradmin'; var domutils = jsloader.resolve('freequery.lang.domutils'); var elem = domutilswindow.findElementByClassName(doc.body, 'containerdiv')dialog.dialogBody; var btnOkbtnOK = domutilswindow.findElementByClassName(doc.body, 'button-bgicon-ok')dialog.btnOK; var btnCancel = domutilswindow.findElementByClassName(doc.body, 'button-bgicon-close')dialog.btnCancel; btnOkbtnOK.style.display = 'none' btnCancel.value = '关闭(C)'; elem.innerHTML = '<iframe src="' + url + '" width="100%" height="100%" border="0" frameSpacing="0" frameBorder="0"></iframe>' } |
示例效果: