목차

그리드 expr_func

그리드 헤더행, 데이터행, 소계행, 통계행에 대한 표현 함수 관련 예시 화면이다.

관련 컬럼 헤더부 속성으로 expr_func이 있다.

관련 컬럼 데이터부 속성으로 expr_func, midstat_expr_func, statrow_expr_func이 있다.

관련 헤더부 API로 getheaderexprfunc, setheaderexprfunc가 있다.

관련 데이터부 API로 getcolumnexprfunc, getcolumnmidstatexprfunc, getcolumnstatrowexprfunc, setcolumnexprfunc가 있다.

예시

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

템플릿 파일

화면 스크립트

/**
 * 헤더행 사용자 정의 표현 함수
 * @param nRow 헤더행 인덱스 (Zero-Based)
 * @param nColumn 헤더열 인덱스 (Zero-Based)
 * @param strItemText 아이템 텍스트
 * @param objGrid 그리드 오브젝트
 * @param nFileType 파일 유형 (0: GRID, 1: CSV, 2: EXCEL, 3: TEXT, 4: XML, 5: JSON)
 * @returns 오브젝트 또는 undefined
 */
function ExprFuncHeader(nRow, nColumn, strItemText, objGrid, nFileType)
{
	// 반환값 오브젝트 정의
	var retInfo = {
		css : "",			 // css 문자열
		itemtext: undefined,  // 아이템 텍스트(setvalue 미지정시 값이 그리드에 저장되지 않음)
		setvalue: undefined,  // 값이 true인 경우, itemtext에 지정된 값으로 그리드에 저장
							  // 값이 문자열/숫자인 경우, setvalue에 지정된 값으로 그리드에 저장
		formatted: false      // 패턴 처리 여부 (true로 설정된 경우, 칼럼 패턴이 적용되지 않음)
	};

	// 주의 !!!
	// 헤더 아이템 변경 처리 API 호출시에는 bRefresh 파라미터를 반드시 false로 지정해야 한다.

	factory.consoleprint("ExprFuncHeader> nFileType = " + nFileType);

    if (objGrid === undefined) {
		// objGrid 파라미터가 undefined인 경우에는 솔루션 패치 이전 상태이며,
		// expr_func, midstat_expr_func, statrow_expr_func 속성에
		// 글로벌 모듈 함수로 지정할 수 없다.
		factory.consoleprint("objGrid is undefined");
    }

	retInfo.formatted = true;
	retInfo.itemtext = "Header(" + nRow + ":" + nColumn + ") " + strItemText;

	// return; // 값 없이 리턴시, 콜백 함수의 리턴값을 사용하지 않음

	return retInfo;
}

/**
 * 데이터행 사용자 정의 표현 함수
 * @param nRow 행 인덱스 (Zero-Based)
 * @param nColumn 열 인덱스 (Zero-Based)
 * @param strItemText 아이템 텍스트
 * @param objGrid 그리드 오브젝트
 * @param nFileType 파일 유형 (0: GRID, 1: CSV, 2: EXCEL, 3: TEXT, 4: XML, 5: JSON)
 * @returns 오브젝트 또는 undefined
 */
function ExprFuncData(nRow, nColumn, strItemText, objGrid, nFileType)
{
	// 반환값 오브젝트 정의
	var retInfo = {
		css : "",             // css 문자열
		itemtext: undefined,  // 아이템 텍스트(setvalue 미지정시 값이 그리드에 저장되지 않음)
		setvalue: undefined,  // 값이 true인 경우, itemtext에 지정된 값으로 그리드 저장
							  // 값이 문자열/숫자인 경우, setvalue에 지정된 값으로 그리드 저장
		formatted: false,     // 패턴 처리 여부 (true로 설정된 경우, 칼럼 패턴이 적용되지 않음)
		hidden: false,        // 숨김 처리 여부 (true로 설정된 경우, 값이 표현되지 않음)
		pattern_front_symbol: undefined, // 패턴 front symbol
		pattern_rear_symbol: undefined   // 패턴 rear symbol
	};

	// 주의 !!!
	// 아이템 변경 처리 API 호출시에는 bRefresh 파라미터를 반드시 false로 지정해야 한다.

	factory.consoleprint("ExprFuncData> nFileType = " + nFileType);

    if (objGrid === undefined) {
        // objGrid 파라미터가 undefined인 경우에는 솔루션 패치 이전 상태이며,
        // expr_func, midstat_expr_func, statrow_expr_func 속성에
        // 글로벌 모듈 함수로 지정할 수 없다.
		factory.consoleprint("objGrid is undefined");

		// objGrid 변수를 아래 라인처럼, 화면내 그리드 이름이 "grdList"인 경우에
		// 화면내 실제 그리드 이름으로 지정하여 사용한다.
		// objGiid = this.grdList;
    }

	// 패턴 심볼 설정
	if (nRow == 0 && nColumn == 2) {
		// retInfo 값 지정 방식
		// retInfo.pattern_front_symbol = "$";
		// retInfo.pattern_rear_symbol = "%";

		// API 호출 방식 (bRefresh 파라미터를 false로 지정)
		if (objGrid) {
			objGrid.setitempatternfrontsymbol(nRow, nColumn, "$", false);
			objGrid.setitempatternrearsymbol(nRow, nColumn, "%", false);
		}
	}

	// 전경색 및 배경색 변경
	if (nRow == 1 && nColumn == 2) {
		// retInfo 값 지정 방식
		// retInfo.css = "color: rgb(255,255,255); background-color: rgb(0,0,255);";

		// API 호출 방식 (bRefresh 파라미터를 false로 지정)
		if (objGrid) {
			objGrid.setitemforecolor(nRow, nColumn, factory.rgb(255,255,255), false);
			objGrid.setitembackcolor(nRow, nColumn, factory.rgb(0,0,255), false);
		}
	}

	// 데이터 변경 및 포맷팅 처리 값 지정
	if (nRow == 2 && nColumn == 2) {
		retInfo.itemtext = "DataRow(" + nRow + ":" + nColumn + ") " + strItemText;
		retInfo.formatted = true;
	}

	// 숨김 지정
	if (nRow == 3 && nColumn == 2) {
		retInfo.hidden = true;
	}

	// return; // 값 없이 리턴시, 콜백 함수의 리턴값을 사용하지 않음

	return retInfo;
}

/**
 * 소계행 사용자 정의 표현 함수
 * @param nRow 헤더 행 인덱스 (Zero-Based)
 * @param nColumn 헤더 열 인덱스 (Zero-Based)
 * @param strItemText 아이템 텍스트
 * @param objGrid 그리드 오브젝트
 * @param nFileType 파일 유형 (0: GRID, 1: CSV, 2: EXCEL, 3: TEXT, 4: XML, 5: JSON)
 * @returns 오브젝트 또는 undefined
 */
function ExprFuncMidStat(nRow, nColumn, strItemText, objGrid, nFileType)
{
	// 반환값 오브젝트 정의
	var retInfo = {
		css : "",             // css 문자열
		itemtext: undefined,  // 아이템 텍스트(setvalue 미지정시 값이 그리드에 저장되지 않음)
		setvalue: undefined,  // 값이 true인 경우, itemtext에 지정된 값으로 그리드에 저장,
							  // 값이 문자열/숫자인 경우, setvalue에 지정된 값으로 그리드에 저장
		formatted: false,     // 패턴 처리 여부 (true로 설정된 경우, 칼럼 패턴이 적용되지 않음)
		hidden: false,        // 숨김 처리 여부
		pattern_front_symbol: undefined, // 패턴 front symbol
		pattern_rear_symbol: undefined   // 패턴 rear symbol
	};

	// 주의 !!!
	// 아이템 변경 처리 API 호출시에는 bRefresh 파라미터를 반드시 false로 지정해야 한다.

	factory.consoleprint("ExprFuncMidStat> nFileType = " + nFileType);

    if (objGrid === undefined) {
        // objGrid 파라미터가 undefined인 경우에는 솔루션 패치 이전 상태이며,
        // 글로벌 모듈 함수로 지정할 수 없다.
		factory.consoleprint("objGrid is undefined");
    }

	// retInfo.formatted = true;
	// retInfo.itemtext = "MidStat(" + nRow + ":" + nColumn + ") " + strItemText;

	retInfo.pattern_front_symbol = "MidStat(" + nRow + ":" + nColumn + ") ";

	// return; // 값 없이 리턴시, 콜백 함수의 리턴값을 사용하지 않음

	return retInfo;
}

/**
 * 통계행 사용자 정의 표현 함수
 * @param nRow 통계행 인덱스 (Zero-Based)
 * @param nColumn 통계열 인덱스 (Zero-Based)
 * @param strItemText 아이템 텍스트
 * @param objGrid 그리드 오브젝트
 * @param nFileType 파일 유형 (0: GRID, 1: CSV, 2: EXCEL, 3: TEXT, 4: XML, 5: JSON)
 * @returns 오브젝트 또는 undefined
 */
function ExprFuncStatRow(nRow, nColumn, strItemText, objGrid, nFileType)
{
	// 반환값 오브젝트 정의
	var retInfo = {
		css : "",             // css 문자열
		itemtext: undefined,  // 아이템 텍스트(setvalue 미지정시 값이 그리드에 저장되지 않음)
		setvalue: undefined,  // 값이 true인 경우, itemtext에 지정된 값으로 그리드에 저장,
							  // 값이 문자열/숫자인 경우, setvalue에 지정된 값으로 그리드에 저장
		formatted: false,     // 패턴 처리 여부 (true로 설정된 경우, 칼럼 패턴이 적용되지 않음)
		hidden: false,        // 숨김 처리 여부
		pattern_front_symbol: undefined, // 패턴 front symbol
		pattern_rear_symbol: undefined   // 패턴 rear symbol
	};

	// 주의 !!!
	// 아이템 변경 처리 API 호출시에는 bRefresh 파라미터를 반드시 false로 지정해야 한다.

	factory.consoleprint("ExprFuncStatRow> nFileType = " + nFileType);

	// retInfo.formatted = true;
	// retInfo.itemtext = "StatRow(" + nRow + ":" + nColumn + ") " + strItemText;

	retInfo.pattern_front_symbol = "StatRow(" + nRow + ":" + nColumn + ") ";

	// return; // 값 없이 리턴시, 콜백 함수의 리턴값을 사용하지 않음

	return retInfo;
}