Nexacro-컴포넌트/Windows.Form

MDI(tab)방식에서 원하는 화면 찾기

농부지기 2017. 1. 18. 14:03

** MDI(tab)방식에서 원하는 화면 찾기 **




1. Frame 구조

    1. Left 메뉴

    2. main_form.xml  (main_form)

        - main_div 존재

    3. MDI방식이기에 상단에   open한 tab 들 존재


2. 메뉴 클릭 시 화면 open방식

    - strPgmID         = 1911200;                           //메뉴 id - 이 값으로 windows handler 번호로 관리용임

    - fv_MainPage = main::main_form.xml;   //빈 main_form 화면 명

    - strArgs              = pv_PgmID="1911200" pv_Prefix="notice" pv_Url="retrieveArticle" pv_Title="System > 공지 사항";

                        //pv_PgmID='메뉴id'

                        //pv_Prefix='화면.form이 존재 하는 xPlatform package명'

                        //pv_Url='화면.form명'

                        //이 값을 main_form에서 받아   main_div에  연동시켜 준다.

    - NewWindow(strPgmID, fv_MainPage, strArgs);


3. main_form.xml 에서 화면 보여주기

    - div_Main.Url = pv_Prefix + "::" + pv_Url + ".xml";

    


4. 여러 화면이 열려 있을 경우.. 특정 화면 찾기

    원하는 화면을 찾아서  fn_Load() function을 호출 해 준다.


    1. 첫번째 방법

        for(var i= 0; i < AllWindows.GetCount; i++){

                if(AllWindows[i].id == "1911200"){   //1911200 : 위 쪽 PgmID(메뉴id)

                        AllWindows[i].main_div.fn_Load();

                        break;

                }

        }


    2. 두번째 방법

                var arr = AllWindows["1911200"];        //검사현황조회 ID.   WindowsObject를 리턴.

                arr[0].div_main.fn_ReLoadCall();

                

                trace(length(arr));  //결과 : 1

                trace(arr[0]);           //결과 : [Form:1201500]