NEXACRO - 팝업창 및 조회조건(radio)

JeongHoHyun·2024년 9월 4일

NEXACRO

목록 보기
7/9

NEXACRO - 팝업창 및 조회조건(radio)

1. 팝업을 열 버튼을 생성한다.

2. 더블클릭 또는 Event 창에서 onclick 이벤트를 생성한다.

  • 아래는 해당 부모 Form의 Script 창이다.
this.fn_openPopupDept = function(obj:nexacro.Button,e:nexacro.ClickEventInfo)
{
	// ChlidFrmae 오브젝트 동적생성 -> ("이름", 0, 0, "가로크기", "세로크기")
	var objChild = new ChildFrame("popupDept", 0, 0, 300, 400);
  
 	// ChildFrame에 호출할 팝업 경로 지정 -> :: 구분자를 사용하여 왼쪽에는 Service폴더, 오른쪽에는 호출할파일명.xfdl
  	objChild.set_formurl("Work::Popup_Dept.xfdl");
  	
  	// Modal 형태로 ChildFrmae 표시 -> ("부모프레임지정", 팝업창으로 전달할 값, 팝업창의 opener오브젝트 지정, "팝업창에서 리턴값을 받을 콜백함수명")
  	objChild.showModal(this.getOwnerFrame(), "", this, "fn_popupCallback");
};

this.fn_popupCallback = function(sPopupId, sReturn) {
  	var arrRtn = sReturn.split(":");
  	this.div_search.form.edt_deptCode.value = arrRtn[0];
  	this.div_search.form.edt_deptName.value = arrRtn[1];
}

// radio 컴포넌트의 값이 변경되면 실행되는 함수이다.
this.div_search_rdo_gender_onitemchanged = function(obj:nexacro.Radio,e:nexacro.ItemChangeEventInfo)
{
  	// e.postvalue는 새로 변경된 item 을 가지고 있다.
  	if(e.postvalue == "A") {
      // 선택된 값이 "All"인 경우 Dataset 필터 초기화
      this.ds_emp.filter("");
    } else {
      // 선택된 성별에 따라 Dataset 필터 설정
      this.ds_emp.filter("GENDER == '" + e.postvalue + "'");
    }
};
                                  
  • 아래는 팝업창(자식창) Form의 Script 창이다.
this.fn_ok = function(obj:nexacro.Button,e:nexacro.ClickEventInfo)
{
	// 현재 선택된 로우의 부서코드와 부서명을 가져오기
  	var sDeptCode = this.ds_dept.getColumn(this.ds_dept.rowposition, "DEPT_CODE");
  	var sDeptName = this.ds_dept.getColumn(this.ds_dept.rowposition, "DEPT_NAME");
  
  	// 부서코드와 부서명을 구분자로 연결하여 부모창에 전달
  	this.close(sDeptCode + ":" + sDeptName);
};

this.fn_cancel = function(obj:nexacro.Button,e:nexacro.ClickEventInfo)
{
  	this.close();
};
profile
Java Back-End 2022.11.01 💻~ing

0개의 댓글