본문 바로가기 메뉴 바로가기

티스토리 뷰

활동 목표 : 차일드 프레임 url 연결시 새로 만든 form 의 내부 div에 넣기. static에 주소 경로 띄우기.

 

띄워지는 화면의 경로 표시, 즐겨찾기 추가 등 각각의 차일드 프레임에 대한 기능을 추가하려고 한다. 각각의 화면에 적용될 스크립트를 하나로 묶어내기 위해 차일드프레임에 url로 바로 연결하지 않고 Form Work 라는 화면 속 Div에 url로 링크를 시켜서 띄워준다.

 

 

1. FrameBase 에 Form_Work 페이지 추가

화면을 받을 div, 즐겨찾기 추가 및 해제 button, 경로를 찍어낼 static을 둔다.

 

2. 차일드 생성 코드에서 연결(메뉴관련 프레임의 스크립트) + 객체 전달

 

   2-1) 객체에는 메뉴의 클릭에 대한 데이터셋의 컬럼 값을 가져오기 

var objDs = obj.getBindDataset();

var sMenuId  = objDs.getColumn(e.row, "MENU_ID");

var sMenuNm  = objDs.getColumn(e.row, "MENU_NAME");

var sFormUrl = objDs.getColumn(e.row, "FORM_URL");

var sTreePath = obj.getTreePath(e.row);

sTreePath = nexacro.replaceAll(sTreePath,".",">");

 

   2-2) 객체에 값 담기

var oParam = {FORM_ID : sFormId,

  MENU_ID : pMenuId,

  MENU_NM : pMenuNm,

  FORM_URL : pFormUrl,

  TREE_PATH : this.sTreePath}

 

   2-3) 차일드 프레임에 객체 담기

objChildFrame.khParam = oParam;

 

   2-4) 차일드 프레임 url 연결하기

objChildFrame.set_formurl("FrameBase::Form_Work.xfdl");

 

3. Form_Work 스크립트 : 생성될 차일드 프레임에서 보낸 객체 받아 이용하기

온로드 이벤트

this.Form_Work_onload = function(obj:nexacro.Form,e:nexacro.LoadEventInfo)

{

//1. Form_Left에서 생성한 ChildFrame

var objCF = this.getOwnerFrame(); 

 

//2. param 객체 받기

var objParam = objCF.khParam;

 

//3. 객체의 값을 이용 //메서드 밖 폼 변수에 빈 값으로 선언

this.fv_formId = objParam.FORM_ID;

this.fv_menuId = objParam.MENU_ID;

 

     this.div_work.set_url(objParam.FORM_URL); //div에 url 연결

this.sta_title.set_text(objParam.TREE_PATH); //static에 경로 띄우기

this.div_work.form.resetScroll(); //form 크기에 맞게 스크롤 생성

};

 

댓글