목차

멀티라인그리드 서브로우모드 가이드

멀티라인그리드 컴포넌트에 대한 기븐 기능 예시 화면이다.

멀티라인그리드는 한 행을 서브행(로우)라는 개념으로 분할하여 처리하는 기능이다.

서브로우의 수 및 데이터부의 병합은 그리드 수평헤더 수 및 헤더부 병합에 따라 정의된다. (subrow_mode 속성이 0:header인 경우)

데이터부를 헤더부와 독립적으로 정의하기 위해서는 subrow_mode 속성을 1:data로 설정후, subrow_count 속성을 이용한다.

예시

템플릿 위치: /HTML5/COMPONENT/MULTILINEGRID/multilinegrid_subrowmode

템플릿 파일

화면 스크립트

function btn_rowadd_on_mouseup(objInst)
{
	var row_index, ret;

	// 단순 행 추가.
	// 많은 행을 추가하는 경우에는 additemex API를 사용 권고(bRepaint 파라미터 활용)
	row_index = grdList.addrow();

	// 초기 데이터 설정 여부 및 그리드 리프레쉬 여부 지정 기능
	row_index = grdList.additem();

	// 행을 특정 위치에 삽입 처리
	ret = grdList.insertitemtext(grdList.getrowcount(), 0, "");
}


function btn_gethorzheadercount_on_mouseup(objInst)
{
	// 수평헤더행의 갯수를 구함
	screen.alert("행갯수: " + grdList.gethorzheadercount());
}

function btn_subrowcount_on_mouseup(objInst)
{
	// 서브행의 갯수를 구함
	screen.alert("행갯수: " + grdList.getsubrowcount());
}

function btn_rowcount_on_mouseup(objInst)
{
	// 행의 갯수를 구함
	screen.alert("행갯수: " + grdList.getrowcount());
}

function btn_rowdeleteall_on_mouseup(objInst)
{
	// 그리드 모든 행 삭제
	grdList.deleteall();
}

function btn_rowdelete_on_mouseup(objInst)
{
	var select_row;

	// 현재 선택된 행을 구함
	select_row = grdList.getselectrow();

	// 행 삭제
	grdList.deleterow(select_row);
}

function btn_getitemtext_on_mouseup(objInst)
{
	var select_row, select_subrow, select_column;

	// 현재 선택된 행/열을 구함
	select_row = grdList.getselectrow();
	select_subrow = grdList.getselectsubrow();
	select_column = grdList.getselectcolumn();

	screen.alert("아이템 값: " + grdList.getitemtext(select_row, select_subrow, select_column));
}

function btn_setitemtext_on_mouseup(objInst)
{
	var select_row, select_subrow, select_column;

	// 현재 선택된 행/열을 구함
	select_row = grdList.getselectrow();
	select_subrow = grdList.getselectsubrow();
	select_column = grdList.getselectcolumn();

	grdList.setitemtext(select_row, select_subrow, select_column, "1");
}

function btn_itemloop_on_mouseup(objInst)
{
	var row, subrow, column, row_count, sub_row_count, column_count, row_data_arr;

	// 행/열의 갯수를 구함
	row_count = grdList.getrowcount();
	sub_row_count = grdList.getsubrowcount();
	column_count = grdList.getcolumncount();

	for (row = 0; row < row_count; row++) {
		for (subrow = 0; subrow < sub_row_count; subrow++) {
			row_data_arr = [];
			for (column = 0; column < column_count; column++) {
				// 한 행의 모든 컬럼 데이터를 배열에 추가
				row_data_arr.push(grdList.getitemtext(row, subrow, column));
			}
			// 배열에 있는 데이터를 콤마를 구분하여 붙여서 콘솔에 출력
			factory.consoleprint(row_data_arr.join(","));
		}
	}

}