해결된 질문
작성
·
768
0
부모에서 자식 팝업을 띄울 때,
this.gfnOpenPopup("popup", "Board::OB_001_02.xfdl", oArg, sPopupCallBack, oOption);
이렇게 사용한다고 하셨는데,
sPopupCallBack 사용예시가 있을까요?
팝업 내에서 서버호출 후에 콜백함수 예시는 있는데,
자식 팝업에서 부모로 콜백시키는 함수(sPopupCallBack) 는 있는데 예시는 없어서요.
자식 팝업에서 수정완료 후 this.close(); 하면서
부모의 그리드(주문내역 조회)를 reload 하고싶습니다.
답변 1
0
안녕하세요~ 킷도우입니다. 주문 수정 팝업에서 수정 진행 후 팝업이 닫힌 즉시 주문 내역을 재조회하는 기능 관련 문의 주셨는데요. 구현법은 아래와 같습니다.
fnPopupCallback 함수 정의하기
(이 함수의 이름은 gfnOpenPopup 매개변수 중 sPopupCallBack 변수 값과 일치해야 합니다.)
this.fnPopupCallback = function(strId, strVal)
{
trace(" strId : " + strId + " strVal : " + strVal);
switch(strId)
{
case "popup" : //gfnPopupOpen 함수 사용시 첫번째 매개변수와 매칭
this.fn_search();
break;
}
};
fn_search 함수 정의하기
주문 조회 버튼을 눌렀을 때 이벤트 영역에 정의했던 내용을 그대로 복붙하여 fn_search 함수를 만들어줍니다.
this.fn_search = function(){
this.ds_searchList.clearData();
this.ds_searchList.addRow();
this.ds_searchList.setColumn(0,"ORD_NO",this.edt_ordNo.value);
this.ds_searchList.setColumn(0,"CUST_NM",this.edt_custNm.value);
this.ds_searchList.setColumn(0,"COMP_YN",this.chk_cmpYn.value);
this.ds_searchList.setColumn(0,"ORD_STAT_CD",this.cbo_ordStat.value);
this.ds_searchList.setColumn(0,"CUST_GBCD",this.rdo_custGb.value);
var strSvcId = "selectOrdList";
var strSvcUrl = "selectOrdList.do";
var inData = "ds_searchList=ds_searchList";
var outData = "ds_list=ds_list";
var strAvg = "";
var callBackFnc = "fnCallback";
this.gfnTransaction(strSvcId ,
strSvcUrl ,
inData ,
outData ,
strAvg ,
callBackFnc);
}
여기까지 구현하면 말씀하신 기능이 실행이 됩니다.
최초 주문 수정 팝업 오픈(gfnOpenPopup) -> 팝업이 닫힐 때 콜백 함수 호출(fnPopupCallback) ->switch문에서 팝업 ID가 popup인 소스 실행(fn_search, 주문 내역 조회) 의 순서로 소스가 실행된다고 보시면 되겠습니다.
추가 문의 사항 있으시면 댓글 남겨주세요.
감사합니다^^
감사합니다 :)