목차

그리드 아이템 병합 가이드

그리드 데이터행 아이템 병합에 대한 예시 화면이다.

그리드 use_selectblock 속성을 true로 설정하여 사용자가 마우스로 블럭 선택 기능을 제공합니다.

그리드 on_selectblock 이벤트를 이용하여 블럭 선택한 아이템에 대한 통계 데이터를 표시한다.

블럭 선택된 아이템에 대한 컨텍스트 메뉴에 “병합” 및 “병합해제” 메뉴를 제공한다.

아이템 병합시 병합된 아이템들의 값은 병합 시작 아이템의 값으로 변경된다.

관련 속성으로 use_selectblock, show_selectblockstat, item_merge가 있다.

관련 API로 setitemmergerange, releaseitemmerge, isitemmerge, getitemmergerange가 있다.

관련 이벤트로 on_selectblock가 있다.

예시

그리드를 마우스로 드래그 후, 컨텍스트 메뉴를 통해 병합하세요.

템플릿 위치: /HTML5/COMPONENT/GRID/grid_merge_item

템플릿 파일

화면 스크립트

// 그리드 "on_selectblock" 이벤트
function grdMerge_on_selectblock(objInst, nSelectStat, nStartRow, nStartColumn, nEndRow, nEndColumn, nSumValue, nAvgValue, nCount, nMinValue, nMaxValue)
{
	// 그리드 블럭 선택 통계 정보 표시
	this.fldSum.settext(nSumValue);
	this.fldAvg.settext(nAvgValue);
	this.fldCount.settext(nCount);
	this.fldMin.settext(nMinValue);
	this.fldMax.settext(nMaxValue);
}

// "setitemmergerange" 버튼 이벤트
function btn_setitemmergerange_on_click(objInst)
{
	var ret;

	// 아이템 병합 처리
	ret = this.grdMerge.setitemmergerange(this.fldStartRow.gettext(), this.fldStartCol.gettext(),
										  this.fldEndRow.gettext(), this.fldEndCol.gettext());
	factory.consoleprint("setitemmergerange return = " + ret);
}

// "releaseitemmerge" 버튼 이벤트
function btn_releaseitemmerge_on_click(objInst)
{
	var ret;

	// 아이템 병합 해제 처리
	ret = this.grdMerge.releaseitemmerge(this.fldStartRow.gettext(), this.fldStartCol.gettext(),
										 this.fldEndRow.gettext(), this.fldEndCol.gettext());
	factory.consoleprint("releaseitemmerge return = " + ret);
}

// "isitemmerge" 버튼 이벤트
function btn_isitemmerge_on_click(objInst)
{
	var is_merge;

	// 아이템이 병합된 아이템인지 구함
	is_merge = this.grdMerge.isitemmerge(this.grdMerge.getselectrow(), this.grdMerge.getselectcolumn());
	if (is_merge) {
		screen.alert("선택한 아이템은 병합된 아이템 입니다.");
	}
	else {
		screen.alert("선택한 아이템은 병합된 아이템이 아닙니다.");
	}
}

// "getitemmergerange" 버튼 이벤트
function btn_getitemmergerange_on_click(objInst)
{
	var merge_range;

	merge_range = this.grdMerge.getitemmergerange(this.grdMerge.getselectrow(), this.grdMerge.getselectcolumn());
	if (merge_range) {
		screen.alert("선택한 아이템 병합정보: " + merge_range.join(","));
	}
	else {
		screen.alert("선택한 아이템은 병합된 아아템이 아닙니다.");
	}
}