====== 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; }