• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    해결됨

팝업 종료 콜백

23.08.06 03:37 작성 조회수 587

0

부모에서 자식 팝업을 띄울 때,

this.gfnOpenPopup("popup", "Board::OB_001_02.xfdl", oArg, sPopupCallBack, oOption);

이렇게 사용한다고 하셨는데,

sPopupCallBack 사용예시가 있을까요?

 

팝업 내에서 서버호출 후에 콜백함수 예시는 있는데,

자식 팝업에서 부모로 콜백시키는 함수(sPopupCallBack) 는 있는데 예시는 없어서요.

 

자식 팝업에서 수정완료 후 this.close(); 하면서

부모의 그리드(주문내역 조회)를 reload 하고싶습니다.

답변 1

답변을 작성해보세요.

0

안녕하세요~ 킷도우입니다. 주문 수정 팝업에서 수정 진행 후 팝업이 닫힌 즉시 주문 내역을 재조회하는 기능 관련 문의 주셨는데요. 구현법은 아래와 같습니다.

  1. fnPopupCallback 함수 정의하기

    (이 함수의 이름은 gfnOpenPopup 매개변수 중 sPopupCallBack 변수 값과 일치해야 합니다.)

    this.fnPopupCallback = function(strId, strVal)

    {

    trace(" strId : " + strId + " strVal : " + strVal);

    switch(strId)

    {

    case "popup" : //gfnPopupOpen 함수 사용시 첫번째 매개변수와 매칭

    this.fn_search();

    break;

    }

    };

     

  2. 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, 주문 내역 조회) 의 순서로 소스가 실행된다고 보시면 되겠습니다.

추가 문의 사항 있으시면 댓글 남겨주세요.

감사합니다^^

감사합니다 :)