====== grd_sort 가이드 ====== soft_func 속성 및 setcolumnsoftfunc API에 대한 예시 화면이다. soft_func 속성은 정렬 처리시 커스텀 정렬 비교 함수를 수행하기 위한 기능을 제공한다. on_sortcomplete 이벤트는 정렬 완료시 발생하는 이벤트이다. ===== 예시 ===== setcolumnsoftfunc 함수 호출후, 그리드 헤더를 클릭해서 기능 확인 템플릿 위치: /HTML5/COMPONENT/GRID/grid_sort_func 템플릿 파일 * [[xf5projecthome>template/screen/HTML5/COMPONENT/GRID/grid_sort_func.xml|grid_sort_func.xml]] * [[xf5projecthome>template/screen/HTML5/COMPONENT/GRID/grid_sort_func.js|grid_sort_func.js]] * [[xf5projecthome>template/template.html?xframe_screen_url=/HTML5/COMPONENT/GRID/grid_sort_func|새창으로 실행]] echo ''; echo ''; echo ''; ==== 화면 스크립트 ==== /** * 그리드 사용자 정의 정렬 함수, 관련 함수(setcolumnsortfunc, getcolumnsortfunc) * @param objInst 그리드 오브젝트 * @param nColumn 그리드 칼럼 인덱스 (Zero-Based) * @param nSortOrder 정렬 순서 (XFD_GRID_SORT_ASC(1), XFD_GRID_SORT_DES(2)) * @param nDataType 그리드 데이터 형식 * (XFD_GRID_DATA_NUMERIC(0), XFD_GRID_DATA_ALPANUM(1), XFD_GRID_DATA_HANGUL(2) * @param strValueA 비교 대상 값 A * @param strValueB 비교 대상 값 B * @return 정렬 순서가 XFD_GRID_SORT_ASC인 경우, 아래의 기준에 따름, 0: strValueA와 strValueB 값이 같은 경우, 1: strValueA와 strValueB 보다 값이 큰 경우 -1: strValueA와 strValueB 보다 값이 작은 경우 정렬 순서가 XFD_GRID_SORT_DES인 경우, XFD_GRID_SORT_ASC와 반대 값 */ function GridSortFunc(objInst, nColumn, nSortOrder, nDataType, strValueA, strValueB) { var nValue1, nValueB; factory.consoleprint("GridSortFunc> nColumn = " + nColumn + ", nSortOrder = " + nSortOrder + ", nDataType = " + nDataType); factory.consoleprint("GridSortFunc> strValueA = " + strValueA + ", strValueB = " + strValueB); if (nDataType == XFD_GRID_DATA_NUMERIC) { nValueA = parseFloat(strValueA); nValueB = parseFloat(strValueB); if (nSortOrder == XFD_GRID_SORT_ASC) { return nValueA - nValueB; } else if (nSortOrder == XFD_GRID_SORT_DES) { return nValueB - nValueA; } else { return 0; } } else { if (strValueA == strValueB) { return 0; } if (nSortOrder == XFD_GRID_SORT_ASC) { return strValueA > strValueB ? 1 : -1; } else if (nSortOrder == XFD_GRID_SORT_DES) { return strValueA > strValueB ? -1 : 1; } else { return 0; } } } // "getcolumnsortfunc" 버튼 이벤트 function btn_getcolumnsoftfunc_on_mouseup(objInst) { // 0번째 칼럼에 지정된 정렬 함수 이름 출력 factory.consoleprint("sortfunc = [" + this.grdList.getcolumnsortfunc(0) + "]"); } // "setcolumnsoftfunc" 버튼 이벤트 function btn_setcolumnsoftfunc_on_mouseup(objInst) { // 0번째 칼럼에 대한 정렬 함수 지정 this.grdList.setcolumnsortfunc(0, this.fld_sortfunc.gettext()); }