본문 바로가기
IT/nexacro

nexacro에서 객체, 폼, 프레임 간 접근방법

by heavenLake 2022. 7. 19.
반응형

출처 : http://tobetong.com/?p=4934 

 

nexacro에서 객체, 폼, 프레임 간 접근방법 – TOBETONG

업무 기능(화면 간 데이터 전달, 화면 제어 등) 구현 시에 많이 사용되는 팝업창, 폼, 프레임에 접근하는 방법을 nexacro에서 사용되는 실제 예제를 통해 알아보겠습니다. 이 같은 방법은 간단한 내

tobetong.com

 

 

업무 기능(화면 간 데이터 전달, 화면 제어 등) 구현 시에 많이 사용되는 팝업창, 폼, 프레임에 접근하는 방법을 nexacro에서 사용되는 실제 예제를 통해 알아보겠습니다. 이 같은 방법은 간단한 내용이지만 실제 업무를 할 때 많은 고객들이 혼동하는 기능이기도 합니다.
프로젝트 구조에(프레임 설정) 따라 접근을 해야 하는 방법이 달라질 수 있으므로 미리 숙지를 하게 된다면 개발 시 편리하게 작업하실 수 있을 것입니다.

 

 

1. 팝업창 호출 시 Argument 전달은 아래와 같이 전달합니다.

   호출 메소드의 인자값에 넘겨줄 값을 설정합니다.
   넘겨주는 Argument는 문자열, 데이터 세트, 배열 등을 사용할 수 있습니다.

1)  open메소드
 application.open(“modeless”,”Base::Form1_Pop.xfdl”,this.getOwnerFrame(), {mode:’modeless’,ds:this.Dataset01}, “showtitlebar=true”, 400, 200);

2)  showModal 메소드
 popWin.showModal(this.getOwnerFrame(),{mode:’modal’,ds:this.Dataset01},this, “fn_pop_callback”);

3)  showModalWindow 메소드
 system.showModalWindow(popWin,”modeless2″,this.getOwnerFrame(), {mode:’showModalWindow’,ds:this.Dataset01}, this);

4)  showModalSync 메소드
 system.showModalSync(popWin,”modal2″,this.getOwnerFrame(), {mode:’showModalSync’,ds:this.Dataset01}, this);

 

2. 팝업창에서 아래와 같은 형식으로 넘겨준 값을 받을 수 있습니다.

  Ex) this.parent.변수명 / this.parent.데이터셋명

 

3. 넘겨받은 값이 데이터셋 객체인 경우는 copydata로 복사하여 사용하여야 합니다.

  Ex) this.Dataset01.copyData(this.parent.데이터셋명);

 

4. 팝업폼의 컴포넌트에 바인드된 데이터셋이 폼에 없으면 상위 폼의 데이터셋이 바인드가 됩니다.

 

5. 팝업창에서 부모 폼에 접근하는 경우는 아래와 같이 opener 속성을 이용하여 접근합니다.

  Ex) this.opener.객체

 

 

 

 

6. 팝업창에서 부모 폼으로 값을 전달할 경우는 아래와 같은 형식으로 전달합니다.

  [open, showModalSync]
  this.opener 로 부모 폼의 함수나 객체에 접근하여 값을 셋팅 후 창을 닫습니다.

  [showModal]
  창이 닫힐 때 close 함수의 인자값으로 지정한 콜백함수로 값을 전달받습니다.(String형태의 값만 전달할 수 있습니다.)

  [showModalWindow]
  close 메소드의 argument로 값을 넘깁니다.

 

7. 프레임 간 접근 방법입니다.

  프레임 구조는 아래와 같습니다.

1) 전체 경로명을 이용하여 접근
  : application.mainframe.VFrameSet0.HFrameSet0.LeftFrame
    application.mainframe.VFrameSet0.HFrameSet0.WorkFrameSet.ChildFrame0

2) all 속성의 index를 이용하여 접근
  : application.all[0].all[0].all[1].all[0] → LeftFrame
    application.all[0].all[0].all[1].all[1].all[0] → ChildFrame0

3) all 속성의 id를 이용하여 접근
  :application.all[“mainframe”].all[“VFrameSet0”].all[“HFrameSet0”].all[“LeftFrame”]

 

 

 

 

8. 프레임간 폼 접근 방법입니다.

1) 경로명을 이용하여 접근
  : application.mainframe.VFrameSet0.HFrameSet0.LeftFrame.form

2) all 속성의 index를 이용하여 접근
  : application.all[0].all[0].all[1].all[0].form

3) all 속성의 id를 이용하여 접근
  : application.all[“mainframe”].all[“VFrameSet0”].all[“HFrameSet0”].all[“LeftFrame”].form

 

9. 글로벌 데이터셋, 변수 접근 방법입니다.

  1) application.글로벌 데이터셋명 → application.gv_Ds

  2) application.글로벌 변수명 → application.gv_var1

 

 

 

10. 팝업창 접근 방법입니다.

  1) application.popupframes[“팝업프레임ID”].form.객체

  2) application.popupframes[0].form.객체

 

11. 컴포넌트에서 부모 폼 접근 방법입니다.

  1) Form에 위치 : obj.parent

  2) Div에 위치 : obj.parent.parent

  3) Tab에 위치 : obj.parent.parent.parent

 

 

12. 그리드에서의 접근 방법입니다.

  1) comp : 그리드

  2) comp.parent : 부모폼

  3) comp.parent.객체 : 폼의 컴포넌트

 

반응형

댓글