XPLATFORM 9.2.2 핵심 메소드 요약표
이 표는 개발 시 가장 빈번하게 마주치는 4가지 상황(①데이터 통신, ②데이터셋 제어, ③화면/팝업 제어, ④기타 유틸리티)으로 나누어 정리했습니다.
① 데이터 통신 (Server Communication)
| 메소드 (Method) | 설명 (Description) | 주요 인자 (Parameters) | 간단한 사용 예시 (Example) |
| transaction() | (가장 중요) 서버와 비동기 방식으로 데이터를 주고받는 모든 통신을 총괄합니다. | sSvcID: 통신 식별자 (문자열)<br>sURL: 서버 요청 주소 (문자열)<br>sInDatasets: 서버로 보낼 데이터셋 (문자열)<br>sOutDatasets: 서버에서 받을 데이터셋 (문자열)<br>sArguments: 간단한 인자값 (문자열)<br>sCallbackFunc: 통신 완료 후 실행될 함수 이름 (문자열) | var strUrl = "svc::save.jsp";<br>var strInds = "in_ds=ds_list";<br>var strOutds = "ds_list=out_ds";<br>transaction("save", strUrl, strInds, strOutds, "", "fn_callback"); |
② 데이터셋 제어 (Dataset Control)
| 메소드 (Method) | 설명 (Description) | 주요 인자 (Parameters) | 간단한 사용 예시 (Example) |
| addRow() | 데이터셋의 마지막에 새로운 빈 행(Row)을 추가합니다. 새로 추가된 행의 인덱스(Index)를 반환합니다. | (없음) | var nNewRow = ds_user.addRow(); |
| deleteRow() | 지정된 위치의 행을 삭제 상태로 변경합니다. (실제 데이터는 저장 시점에 삭제됨) | nRow: 삭제할 행의 인덱스 (숫자) | var nRow = ds_user.rowposition;<br>ds_user.deleteRow(nRow); |
| getColumn() | 지정된 행과 컬럼에 위치한 셀의 값을 가져옵니다. | nRow: 행 인덱스 (숫자)<br>sColID: 컬럼 ID (문자열) | var sName = ds_user.getColumn(0, "USER_NAME"); |
| setColumn() | 지정된 행과 컬럼에 위치한 셀의 값을 변경합니다. | nRow: 행 인덱스 (숫자)<br>sColID: 컬럼 ID (문자열)<br>value: 설정할 값 | ds_user.setColumn(0, "USER_NAME", "이순신"); |
| getRowCount() | 데이터셋의 전체 행의 개수를 반환합니다. for 반복문에서 매우 유용합니다. | (없음) | for (var i=0; i<ds_user.getRowCount(); i++) { ... } |
| getRowType() | 지정된 행의 상태(추가/수정/삭제/일반)를 숫자로 반환합니다. | nRow: 행 인덱스 (숫자) | if (ds_user.getRowType(i) == Dataset.ROW_TYPE_INSERTED) { ... } |
| findRow() | 특정 컬럼에서 지정된 값과 일치하는 첫 번째 행의 인덱스를 찾습니다. | sColID: 검색할 컬럼 ID<br>value: 찾을 값 | var nRow = ds_user.findRow("USER_ID", "admin"); |
③ 화면 및 팝업 제어 (Screen & Popup Control)
| 메소드 (Method) | 설명 (Description) | 주요 인자 (Parameters) | 간단한 사용 예시 (Example) |
| go() | 현재 화면을 닫고, 지정된 URL의 새로운 화면으로 완전히 전환합니다. | sUrl: 이동할 화면 URL (문자열) | this.go("Base::Form_Main.xfdl"); |
| open() | 새로운 팝업(Modal/Modeless) 창을 엽니다. | sPopupId: 팝업 고유 ID<br>sUrl: 팝업 화면 URL<br>oArg: 전달할 데이터 객체 | var oArg = { p_userId: "dev01" };<br>open("popup01", "Base::Popup_User.xfdl", oArg); |
| close() | 현재 열려있는 팝업창을 닫습니다. 부모창으로 값을 반환할 수 있습니다. | value: 부모창으로 전달할 값 | this.close("SUCCESS"); |
| getOwnerFrame() | 현재 Form을 소유하고 있는 부모 프레임(Frame) 객체를 반환합니다. 팝업에서 부모창의 데이터나 함수에 접근할 때 필수입니다. | (없음) | var oArg = this.getOwnerFrame().param; |
④ 기타 유틸리티 (Utility)
| 메소드 (Method) | 설명 (Description) | 주요 인자 (Parameters) | 간단한 사용 예시 (Example) |
| alert() | 간단한 메시지를 담은 경고창을 띄웁니다. 디버깅 및 사용자 알림에 사용됩니다. | sMsg: 표시할 메시지 (문자열) | alert("저장이 완료되었습니다."); |
| confirm() | [확인]/[취소] 버튼이 있는 확인창을 띄웁니다. 사용자의 선택(true/false)을 반환합니다. | sMsg: 표시할 메시지 (문자열) | if (confirm("정말 삭제하시겠습니까?")) { ... } |
| setFocus() | 지정된 컴포넌트로 키보드 입력 포커스를 이동시킵니다. | (없음) | this.edt_id.setFocus(); |
| getApplication() | 최상위 Application 객체를 반환합니다. 전역 변수나 글로벌 프레임에 접근할 때 사용합니다. | (없음) | var objApp = getApplication();<br>var isLogin = objApp.G_IsLogin; |
※ XPLATFORM 9.2.2 버전의 중요한 특징 (꼭 기억하세요!)
위 표에 나온 함수 외에, 컴포넌트의 대부분의 속성(Property)은 함수 없이 직접 접근하여 값을 가져오거나 변경합니다. 이는 최신 넥사크로플랫폼과의 가장 큰 문법적 차이점입니다.
| 작업 | XPLATFORM 9.2.2 (직접 접근) | 넥사크로플랫폼 (set/get 함수) |
| 값 가져오기 | var sVal = this.edt_id.value; | var sVal = this.edt_id.get_value(); |
| 값 설정하기 | this.edt_id.value = "test"; | this.edt_id.set_value("test"); |
| 보이기/숨기기 | this.btn_save.visible = false; | this.btn_save.set_visible(false); |
| 활성/비활성 | this.edt_name.enable = true; | this.edt_name.set_enable(true); |
| 타이틀 변경 | this.getOwnerFrame().titletext = "제목"; | this.getOwnerFrame().set_titletext("제목"); |
728x90
반응형