====== pattern_func 속성 가이드 ======
pattern_expr 속성에 대한 예시 화면이다.
pattern_expr 속성은 패턴을 동적으로 변경할 필요가 있는 경우에 사용한다.
pattern_expr 속성값은 화면내 함수 이름을 지정하거나, 공통모듈의 함수 이름을 지정한다.
pattern_expr 속성값에 정의된 함수는 컴포넌트의 값이 변경될 때, 자동으로 호출된다.
pattern_expr 속성값에 정의된 함수는 pattern, pattern_mask, pattern_front_symbol, pattern_rear_symbol을 리턴한 수 있다.
===== 예시 =====
템플릿 위치: /HTML5/COMPONENT/GRID/grid_pattern_func
템플릿 파일
* [[xf5projecthome>template/screen/HTML5/COMPONENT/GRID/grid_pattern_func.xml|grid_pattern_func.xml]]
* [[xf5projecthome>template/screen/HTML5/COMPONENT/GRID/grid_pattern_func.js|grid_pattern_func.js]]
* [[xf5projecthome>template/template.html?xframe_screen_url=/HTML5/COMPONENT/GRID/grid_pattern_func|새창으로 실행]]
echo '';
echo '';
echo '';
==== 화면 스크립트 ====
/**
* 패턴 처리 사용자 정의 함수
* @param objScreen 화면 인스턴스
* @param objComponent 컴포넌트 인스턴스
* @param nEventType 함수가 호출된 이벤트 유형 (1: API
* @param strValue 패턴이 포함되지 않은 값
* @param nRow 행 인덱스 (Zero-Based) (필드인 경우, -1)
* @param nSubRow 서브행 인덱스 (Zero-Based) (필드인 경우, -1)
* @param nColumn 열 인덱스 (Zero-Based) (필드인 경우, -1)
*/
function PatternTelNoFunc(objScreen, objComponent, nEventType, strValue, nRow, nSubRow, nColumn) {
var objPatternInfo;
objPatternInfo = {
pattern: undefined, // pattern 속성에 해당하는 문자열
pattern_mask: undefined, // pattern_mask 속성에 해당하는 문자열
pattern_front_symbol: undefined, // pattern_front_symbol 속성에 해당하는 문자열
pattern_rear_symbol: undefined // pattern_rear_symbol 속성에 해당하는 문자열
};
if (strValue.substring(0, 2) == "02") {
objPatternInfo.pattern = "99-9999-9999";
// objPatternInfo.pattern_mask = "99-9XXX-9999";
}
else {
objPatternInfo.pattern = "999-9999-9999";
// objPatternInfo.pattern_mask = "999-9XXX-9999";
}
return objPatternInfo;
}
/**
* 패턴 처리 사용자 정의 함수
* @param objScreen 화면 인스턴스
* @param objComponent 컴포넌트 인스턴스
* @param nEventType 함수가 호출된 이벤트 유형 (1: API
* @param strValue 패턴이 포함되지 않은 값
* @param nRow 행 인덱스 (Zero-Based) (필드인 경우, -1)
* @param nSubRow 서브행 인덱스 (Zero-Based) (필드인 경우, -1)
* @param nColumn 열 인덱스 (Zero-Based) (필드인 경우, -1)
*/
function PatternJuminNoFunc(objScreen, objComponent, nEventType, strValue, nRow, nSubRow, nColumn) {
var objPatternInfo;
objPatternInfo = {
pattern: undefined, // pattern 속성에 해당하는 문자열
pattern_mask: undefined, // pattern_mask 속성에 해당하는 문자열
pattern_front_symbol: undefined, // pattern_front_symbol 속성에 해당하는 문자열
pattern_rear_symbol: undefined // pattern_rear_symbol 속성에 해당하는 문자열
};
if (strValue.length > 10) {
objPatternInfo.pattern = "999999-9999999";
// objPatternInfo.pattern_mask = "999999-9XXXXXX";
}
else {
objPatternInfo.pattern = "999-99-99999";
// objPatternInfo.pattern_mask = "999-99-9XXXX";
}
return objPatternInfo;
}