활동 목표 : 차일드 프레임 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 크기에 맞게 스크롤 생성
};
'FE 개발노트 > etc' 카테고리의 다른 글
[install] WSL2 설치하기 - 윈도우10에서 리눅스를 사용하자 (0) | 2020.12.06 |
---|---|
[넥사크로]그리드의 컬럼값으로 같은 로우의 다른 컬럼 값 구하는 세가지 방법 (0) | 2020.12.03 |
[넥사크로] SDI / MDI 형태 웹 페이지 만들기 (0) | 2020.11.30 |
프레임 구조 : SDI 형태 / MDI 형태 (0) | 2020.11.30 |
넥사크로 단축키 모음(update20201124) (0) | 2020.11.24 |