화면 » Api

getscreendata

Description

화면의 모든 입출력 컴포넌트의 컴포넌트 데이터 정보 오브젝트 배열을 리턴한다.

Parameters

Parameters Type Description
bIncludeData BOOL 데이터 값 포함 여부
nGridRowMetaData short [옵션] 그리드 행 메타 데이터 포함 방식 (기본값: 0)
nPropData short [옵션] 컴포넌트 메타 데이터 포함 방식 (기본값: 0)
bIncludeSubScreen BOOL [옵션] 링크된 하위 화면 포함 여부 (기본값: false)
nValueType short [옵션] 컴포넌트 값 유형 (기본값: 0)

Return Value

Type Description
Array 컴포넌트 데이터 정보 오브젝트

Remark

컴포넌트 데이터 정보 오브젝트는 개별 컴포넌트의 데이터 정보를 포함하고 있으며, 구조는 아래와 같다.

컴포넌트 데이터 정보 오브젝트 = {
	control_id: 컴포넌트 콘트롤 ID,
	control_name: 컴포넌트 이름(값 지정을 하지 않을 경우 공백 문자열),
	control_kind: getcontrolkind() 함수 리턴값
	io_map_text: IO 맵 텍스트(트랜맵 ID가 공백문자열인 경우, 공백문자열),
	max_length: 최대 길이,
	data_type: 데이터 타입,
	focused_item_index: [옵션] 탭 포커스 아이템 인덱스 또는 undefined,	
	xf_prop: [옵션] 컴포넌트 속성 정보 오브젝트 또는 undefined (아래 설명 참조),
	row_meta_info_arr: [옵션] 그리드 행별 메타 정보 오브젝트 배열 또는 undefined (아래 설명 참조),
	sub_data_info_arr: 서브 데이터 정보 오브젝트 배열(서브행별 칼럼별 데이터 정보),
	control_value: 컴포넌트 값(bIncludeData 파라미터가 true인 경우) (그리드인 경우, 행별 데이터 배열의 배열)	
}

control_value 값은 형식은 그리드, 트리그리드, 멀티라인 그리드인 경우, 배열로 구성되며, 배열의 각 항목은 한 행의 칼럼별 데이터를 저장하고 있는 배열로 구성된다. 컴포넌트 유형이 2행 3열의 멀티라인 그리드인 경우, 한 행의 칼럼별 데이터를 저장하고 있는 배열의 내용은 서브행0의 칼럼0, 칼럼1, 컬럼2, 서브행1의 칼럼0, 칼럼1, 컬럼2 순서로 저장된다.

서브 데이터 정보 오브젝트는 컴포넌트가 그리드성 컴포넌트인 경우, 개별 컬럼의 정보를 포함하고 있으며, 구조는 아래와 같다.

서브행별 칼럼별 정보 오브젝트 = {
	xf_prop: [옵션] 컬럼별 속성 정보 오브젝트 또는 undefined (아래 설명 참조),
	sub_row_index: 서브행 인덱스,
	column_index: 칼럼 인덱스,
	column_name: 칼럼 이름,
	io_map_text: IO 맵 텍스트(트랜맵 ID가 공백문자열인 경우, 공백문자열),
	max_length: 최대 길이,
	data_type: 데이터 타입
}

컴포넌트 유형이 2행 3열의 멀티라인 그리드인 경우, sub_data_info_arr 배열의 내용은 서브행0의 칼럼0, 칼럼1, 컬럼2, 서브행1의 칼럼0, 칼럼1, 컬럼2 순서로 1차원 배열로 저장된다.

nGridRowMetaData 파라미터는 그리드 행별 메타 정보 오브젝트 배열에 값을 설정하는 방식을 지정하며, 값 내용은 아래와 같다.

* nGridRowMetaData 파라미터
0: 메타 데이터를 포함하지 않음
1: 행 체크, 숨김 여부 포함
2: 행 체크 여부만 포함
3: 행 숨김 여부만 포함

nPropData 파라미터는 컴포넌트 속성 정보 및 컬럼별 속성 정보 값을 설정하는 방식을 지정하며, 값 내용은 아래와 같다.

* nPropData 파라미터
0: 컴포넌트 속성 정보를 포함하지 않음
1: 컴포넌트 속성중, 내부에 미리정의된 속성중 변경된 속성값만 포함

nValueType 파라미터는 컴포넌트의 값을 구하는 방식을 지정한다.

* nValueType 파라미터
0: 일반 방식
1: 책임자 승인 요청용

Example

function btn_getscreeniomapdata_mouseup() { var arrDataInfo = screen.getscreendata(true); var i, j, count, objDataInfo, row_count; for (i = 0; i < arrDataInfo.length; i++) { objDataInfo = arrDataInfo[i]; factory.consoleprint("control_id = " + objDataInfo.control_id); factory.consoleprint("max_length = " + objDataInfo.max_length); factory.consoleprint("data_type = " + objDataInfo.data_type); factory.consoleprint("control_kind = " + objDataInfo.control_kind); if (objDataInfo.control_kind == XFD_CTRLKIND_GRID || objDataInfo.control_kind == XFD_CTRLKIND_TREEGRID || objDataInfo.control_kind == XFD_CTRLKIND_MULTILINEGRID) { for (j = 0; j < objDataInfo.control_value.length; j++) { factory.consoleprint(j + " row value = " + objDataInfo.control_value[j].join(",")); } } else { factory.consoleprint("control_value = " + objDataInfo.control_value); } } }

See Also

setscreendata
getiomapdata

Viewer Ver.

9.1.1.1

Update Date

20211217