컴포넌트 데이터 정보 오브젝트 배열의 값을 이용하여 화면의 각 컴포넌트에 데이터를 설정한다. 일반적으로 컴포넌트 데이터 정보 오브젝트 배열은 getscreendata API를 통해서 구한다.
Parameters | Type | Description |
---|---|---|
arrScreenData | Array | 컴포넌트 데이터 정보 오브젝트 배열 |
bIsAppendData | BOOL | [옵션] 그리드 데이터 추가 처리 여부 (기본값: false) |
nGridRowMetaData | short | [옵션] 그리드 행별 메타 데이터 적용 처리 방식 (기본값: 0) |
bApplyProp | BOOL | [옵션] 컴포넌트 속성 적용 처리 여부 (기본값: false) |
bIncludeSubScreen | BOOL | [옵션] 하위 링크 화면 포함 여부 (기본값: false) |
bLoadSubScreen | BOOL | [옵션] 하위 링크 화면 생성 여부 (기본값: false) |
bEventLockSubScreen | BOOL | [옵션] 하위 링크 화면 생성시 이벤트 잠금 여부 (기본값: true) |
bClearSubScreenTabItem | BOOL | [옵션] 하위 링크 화면 탭 아이템 삭제 후, 처리 여부 (기본값: false) |
Type | Description |
---|---|
void |
bIsAppendData 파라미터를 true로 설정한 경우, 그리드 데이터 설정시 기존 데이터에 추가하는 방식으로 데이터를 설정한다.
bLoadSubScreen 파라미터를 true로 설정한 경우, 탭에 링크된 화면이 없는 경우, 새로 로드한다. 이때 bEventLockSubScreen 파라미터가 새로 로드되는 화면의 이벤트 잠금 여부가 반영된다.
값을 지정하지 않을 경우에는 오브젝트의 속성을 지정하지 않거나, 값을 undefined로 설정해야 한다.
arrScreenData 파라미터는 컴포넌트 데이터 정보 오브젝트의 배열이며, 구조는 아래와 같다.
컴포넌트 데이터 정보 오브젝트 = { control_name: 컴포넌트 이름(값 지정을 하지 않을 경우 공백 문자열), control_id: [옵션] 컴포넌트 control_id 속성값 (control_name이 유효한 값이 아닌 경우, 사용됨), focused_item_index: [옵션] 탭 포커스 아이템 인덱스 또는 undefined, xf_prop: [옵션] 컴포넌트 속성 정보 오브젝트 또는 undefined (아래 설명 참조), row_meta_info_arr: [옵션] 그리드 행별 메타 정보 오브젝트 배열 또는 undefined (아래 설명 참조), control_value: 컴포넌트 값 (그리드인 경우, 행별 데이터 배열의 배열), (null인 경우, 값 설정하지 않음), sub_data_info_arr: 그리드성 컴포넌트인 경우, 서브행별 칼럼별 정보 오브젝트 배열 (아래 설명 참조) }
컴포넌트를 찾는 순서는 우선 control_name 정보를 사용하며, control_name가 undefined 이거나 공백문자열인 경우, control_id 정보를 기준으로 컴포넌트를 찾는다.
bApplyProp 파라미터가 true인 경우, focused_item_index 및 xf_prop, sub_data_info_arr 배열내 컬럼별 xf_prop 정보가 적용된다.
focused_item_index 정보는 컴포넌트가 탭인 경우에 포커스를 대상 탭 아이템 인덱스를 지정한다.
컴포넌트 속성 정보 오브젝트 is_apply_prop 파라미터가 true인 경우에 사용되며, 구조는 아래와 같다.
컴포넌트 속성 정보 오브젝트 = { x: 값 또는 undefined (anchor 속성이 0:left-top인 경우에 반영), y: 값 또는 undefined (anchor 속성이 0:left-top인 경우에 반영), width: 값 또는 undefined (resize_dir 속성 0 또는 2이고, width_unit 속성이 0:px인 경우에 반영), height: 값 또는 undefined (resize_dir 속성 0 또는 1이고, height_unit 속성이 0:px인 경우에 반영)}
서브행별 칼럼별 정보 오브젝트는 control_value 값 설정 대상 컬럼 정보를 포함하고 있으며 구조는 아래와 같다.
서브행별 칼럼별 정보 오브젝트 = { xf_prop: [옵션] 컬럼별 속성 정보 오브젝트 또는 undefined (아래 설명 참조), sub_row_index: 서브행 인덱스, column_index: 칼럼 인덱스 }
bApplyProp 파라미터가 컬럼별 속성 정보 오브젝트가 적용되며, 구조는 아래와 같다.
컬럼별 속성 정보 오브젝트 = { width: 값 또는 undefined (autocolumnwidth 속성이 0:none인 경우에 반영), hidden: true/false 또는 undefined, pattern: 값 또는 undefined, pattern_mask: 값 또는 undefined }
control_value 정보의 구조는 getscreendata 함수 도움말을 참조한다.
그리드 행별 메타 정보 오브젝트는 nGridRowMetaData 파라미터를 기준으로 사용되며, 구조는 아래와 같다.
그리드 행별 메타 정보 오브젝트 = { is_hidden_row: true 또는 false 또는 undefined, is_checked_row: true 또는 false 또는 undefined }
nGridRowMetaData 파라미터는 그리드 행별 메타 정보 오브젝트 처리 방식을 지정하며, 값 내용은 아래와 같다.
* nGridRowMetaData 파라미터 0: 행 메타 데이터를 적용하지 않음 1: 행 체크/숨김 여부 적용 2: 행 체크 여부만 적용 3: 행 숨김 여부만 적용
bClearSubScreenTabItem 파라미터는 bIncludeSubScreen, bLoadSubScreen 파라미터가 true인 경우에만 유효하며, 탭에 화면이 링크가 걸려있는 탭 아이템들을 먼저 모두 삭제 후에, 화면을 로드하고 데이터를 처리한다.
// objScreenData 파라미터는 screen.getscreendata API를 통해서 구한 값임
// objScreenData 오브젝트 내부 구조는 getscreendata API 도움말 참조
function btn_test(objScreenData)
{
var bIsAppendData, nGridRowMetaData, bApplyProp, bIncludeSubScreen,
bLoadSubScreen, bEventLockSubScreen, instChildScreen;
// 그리드 행별 메타 데이터 적용 처리 방식
// 0: 행 메타 데이터를 적용하지 않음
// 1: 행 체크/숨김 여부 적용
// 2: 행 체크 여부만 적용
// 3: 행 숨김 여부만 적용
nGridRowMetaData = 1;
bIsAppendData = false; // 그리드 데이터 추가 처리 여부
bApplyProp = true; // 컴포넌트 속성 적용 처리 여부
bIncludeSubScreen = true; // 하위 링크 화면 포함 여부
bLoadSubScreen = true; // 하위 링크 화면 생성 여부
// 하위 링크 화면 생성시 이벤트 잠금 여부
bEventLockSubScreen = true;
// 탭에 링크된 화면 인스턴스를 구함
instChildScreen = tab.getchildscreeninstance(tab.gettabitemcount() - 1);
if (instChildScreen) {
// 탭에 링크된 화면 인스턴스에 화면 데이터 설정
instChildScreen.setscreendata(objScreenData,
bIsAppendData, nGridRowMetaData, bApplyProp,
bIncludeSubScreen, bLoadSubScreen, bEventLockSubScreen);
}
}