용테크
[crownix report] Crownix report viewer를 활용한 보고서 출력 본문
프로젝트중 보고서출력을 Crownix report - RD Report로 출력하는 기능필요.
Client에서 팝업 생성 후, DB 정보를 읽어와 HTML5 viewer로 출력하였다.
1. iframe에 Crownix Report HTML5 viewer 출력.
2. viewer 실행 시 필요한 parameter 입력(사용자 정보, mrd 파일 parameter, DRM 정보 등..)
3. mrd 파일 호출
Iframe에 HTML5 viewer Setting
var fname = 'ideaRd.mrd'
function rdload() {
$ux.iframe.setRdViewer(rdIrame, params.IDEAID);
var userInfo = {};
$ux.data.query({ //사용자, 부서정보
id: 'SYSTEM_USER_MANAGEMENT_LIST',
version: '00002',
parameter: {
USERID: $ux.user.id()
},
reply: function(e) {
userInfo["id"] = $ux.user.id();
userInfo["name"] = $ux.user.name();
userInfo["siteid"] = e.result[0].PLANTID;
userInfo["dept"] = e.result[0].DEPARTMENT;
$ux.iframe.initRDViewer(rdIrame);
setTimeout(function() {
$ux.iframe.loadRDViewer(rdIrame, fname, '[' + params.IDEAID + ']', userInfo, "idea");
}, 1000);
},
error: function(e) {}
});
}
setRdViewer Function
setRdViewer : function(iframe,ideaid){
var targetName = $ux.generateID();
var iframeScrolling = "no";
var formUrl = "ReportingServer/html5/sample/sample.html";
var formMethod = "POST";
localStorage.setItem('rdIdeaID',ideaid);
$(iframe.item()).html("<iframe class='k-content-frame'id='"+ideaid+"' name='" + targetName + "' scrolling='" + iframeScrolling + "'>");
$("<form />", {
action: formUrl,
method: formMethod,
target: targetName
}).hide().appendTo("body").submit().remove();
//$('td.NamoSE_skinLine.ce-namo-menu').remove();
},
loadRDViewer Function
loadRDViewer : function (iframe, fname, param, userInfo,isIdea){
var childIframe = this.getChildIframe(iframe);
var iframeWin = childIframe[0].contentWindow;
var ctx = "http://127.0.0.1:8080"; //mrd File Path
var ds = 'DEV'; //DataBase Server
var viewer = new iframeWin.m2soft.crownix.Viewer(ctx+'/ReportingServer/service', 'crownix-viewer');
var file;
if(!isIdea){
file = ctx+'/ReportingServer/mrd/'+fname;
}else{
file = ctx+'/ReportingServer/mrd/ideaRd_S.mrd';
}
var rdparam = '/rcontype [RDAGENT]';
rdparam += ' /rf ['+ctx+'/DataServer/rdagent.jsp]';
rdparam += ' /rsn ['+ds+']'
rdparam += ' /rusedrm [fasoo-jni-2.8.1u.jar] [3@C:\\fsdinit@0000000000002519@'+userInfo.id+'@'+userInfo.name+'@'+userInfo.id+'@'+userInfo.name+'@'+userInfo.siteid+'@'+userInfo.dept+'@'+userInfo.id+'@'+userInfo.name+'@'+userInfo.siteid+'@'+userInfo.dept+'@1]' ;
rdparam += ' /rp '+param;
rdparam += ' /rhtmlimportopt [2]';
viewer.hideToolbarItem(["doc", "xls", "ppt", "hwp","print_pdf"]); //hidden
viewer.openFile(file, rdparam); //mrd 파일 지정
viewer.showToolbarItem(["ratio", "save"]); //Tool bar item
}
결과
'Solution > Kendo UI' 카테고리의 다른 글
[Kendo UI] Kendo ButtonBar(kendoTabStrip) (0) | 2020.10.26 |
---|---|
[Kendo UI] 엑셀데이터 Grid에 붙여넣기 (0) | 2020.07.29 |
[Kendo UI] Kendo Chart Parameter (0) | 2020.07.29 |
Comments