1. 메뉴로 사용할 Global Dataset 생성 (MDI의 경우 차일드프레임 관리를 위해 컬럼명이 같은 빈 Global Dataset 생성)
Application Information - Application Variables - Dataset 에서 프로젝트 전체에서 접근 가능한 글로벌 데이터셋을 생성해 준다.
예시)
데이터셋 이름 : gds_menu, (+ gds_openForm)
컬럼 : MENU_ID / MENU_NAME / MENU_LEVEL / FORM_URL
2. 프레임 구성
Application Information - Applications - Application_Desktop - mainframe 아래의 프레임 구조를 설정한다.
해당 예제에서는 최소 좌측에 표시될 메뉴를 위한 프레임, 메뉴 클릭시 해당 url 로 이동시킨 화면을 띄워주는 워크프레임이 필요하다. 이때 워크프레임은 SDI의 경우 ChildFrame, MDI의 경우 FrameSet을 생성한다.
(넥사크로 프레임 참고)
3. 메뉴 생성 (좌측프레임에 그리드 생성)
좌측프레임에 1의 데이터셋을 바인딩하여 트리구조 그리드로 메뉴를 생성한다.
4-1. SDI방식 스크립트
3에서 생성한 그리드의 더블클릭 이벤트 함수
var sUrl = this.gds_menu.getColumn(e.row,"FORM_URL"); //클릭한 메뉴의 FORM_URL 값 변수에 저장
var objApp = nexacro.getApplication();
objApp.mainframe.VFrameSet00.HFrameSet00.VFrameSet00.ChildFrame01.set_formurl(sUrl);
//페이지를 띄우고 싶은 ChildFrame의 경로에 formurl 속성값을 위의 값으로 지정한다.
4-2. MDI방식 스크립트
3에서 생성한 그리드의 더블클릭 이벤트 함수
//클릭된 메뉴의 메뉴아이디, 메뉴 이름, url 값을 받아온다.
//그 값들을 인자로 넣어 아래에 생성한 fn_openForm 함수를 호출한다.
var objApp = nexacro.getApplication();
var sMenu = objApp.gds_menu.getColumn(e.row, "MENU_ID");
var sMenuNm = objApp.gds_menu.getColumn(e.row, "MENU_NAME");
var sFormUrl = objApp.gds_menu.getColumn(e.row, "FORM_URL");
this.fn_openForm(sMenu, sMenuNum, sFormUrl);
fn_openForm 함수
SDI/MDI란
2020/11/30 - [개발노트/개발용어정리] - 프레임 구조 : SDI 형태 / MDI 형태
참고 자료 :
docs.tobesoft.com/edu_nexacro17_basic_kr#5a80efac77326262
기본 교육 교재
docs.tobesoft.com
'FE 개발노트 > etc' 카테고리의 다른 글
[넥사크로]그리드의 컬럼값으로 같은 로우의 다른 컬럼 값 구하는 세가지 방법 (0) | 2020.12.03 |
---|---|
[넥사]차일드 프레임 생성시 다른 form의 div에 화면연결 + 주소 경로 (0) | 2020.12.02 |
프레임 구조 : SDI 형태 / MDI 형태 (0) | 2020.11.30 |
넥사크로 단축키 모음(update20201124) (0) | 2020.11.24 |
Nexacro 플랫폼이란? + 필수 참고 사이트 (0) | 2020.11.24 |