/* jqGrid 유틸리티 함수 */ function printTotalRowInPagination(table_selector, pagination_selector){ var total_data_num = $(table_selector).getGridParam('records'); // 페이지네이션 좌측에 total 몇 개인지 출력 $(pagination_selector).closest('.metis_pagination').find('.search_filter') .empty() .append("Total : " + total_data_num + ""); } function setJqGridPagination(table_selector, pagination_selector, page_range){ // 현재 페이지 var cur_page = $(table_selector).getGridParam('page'); // 전체 데이터 갯수 var total_data_num = $(table_selector).getGridParam('records'); // 현재 한 번에 보여주는 row 숫자 var cur_row_limit = $(table_selector).getGridParam('rowNum'); // 전체 페이지 길이 var total_page_num = Math.ceil(total_data_num / cur_row_limit); // 페이지를 1~10, 11~20 하는 식으로 그룹으로 표현할 때 몇 번째 그룹인지 var cur_page_group = parseInt( (cur_page - 1) / page_range); // 이전 페이지 그룹의 첫 번째 시작 var prev_group_first_page = ( cur_page_group - 1 ) * page_range + 1; if(prev_group_first_page < 0) prev_group_first_page = 1; // 다음 페이지 그룹의 첫 번째 시작 var next_group_first_page = ( cur_page_group + 1 ) * page_range + 1; if(next_group_first_page > total_page_num) next_group_first_page = total_page_num; var pagination_html = ""; var to_print_page = cur_page_group * page_range + 1; while( (page_range > 0) && (to_print_page <= total_page_num) ){ if(to_print_page == cur_page){ pagination_html += getSinglePaginationBold(table_selector, to_print_page); } else { pagination_html += getSinglePagination(table_selector, to_print_page); } page_range--; to_print_page++; } // 페이지네이션 처음, 이전 pagination_html = getFirstPagination(table_selector) + getPrevGroupPagination(table_selector, prev_group_first_page) + pagination_html; // 페이지네이션 다음, 끝 pagination_html += getNextGroupPagination(table_selector, next_group_first_page) + getLastPagination(table_selector); // 데이터가 없는경우는 페이징 버튼을 안보여준다. if(total_data_num == null || undefined == total_data_num || 1 > total_data_num) { pagination_html = ""; } // 페이지네이션 추가 $(pagination_selector) .empty() .append(pagination_html); } function getCustomSinglePagination(page_class, func_name, parameter, page_num){ var param = "'" + parameter.join("','") + "'"; page_class = '\'' + page_class + '\''; return "" + page_num + ""; } function getSinglePagination(table_selector, page_num){ var param = [table_selector, page_num]; return getCustomSinglePagination('page', 'goSelectedPage', param, page_num); } function getSinglePaginationBold(table_selector, page_num){ var param = [table_selector, page_num]; return getCustomSinglePagination('page cur_page', 'goSelectedPage', param, page_num); } function getFirstPagination(table_selector){ var param = [table_selector]; /*var icon = '';*/ var icon = '<<'; return getCustomSinglePagination('goto first', 'goFirstPage', param, icon); } function getNextPagination(table_selector){ var param = [table_selector]; var icon = ''; return getCustomSinglePagination('goto', 'goNextPage', param, icon); } function getPrevPagination(table_selector){ var param = [table_selector]; var icon = ''; return getCustomSinglePagination('goto', 'goPrevPage', param, icon); } function getNextGroupPagination(table_selector, page_num){ var param = [table_selector, page_num]; /*var icon = '';*/ var icon = '>'; return getCustomSinglePagination('goto next', 'goSelectedPage', param, icon); } function getPrevGroupPagination(table_selector, page_num){ var param = [table_selector, page_num]; /*var icon = '';*/ var icon = '<'; return getCustomSinglePagination('goto prev', 'goSelectedPage', param, icon); } function getLastPagination(table_selector){ var param = [table_selector]; /*var icon = '';*/ var icon = '>>'; return getCustomSinglePagination('goto last', 'goLastPage', param, icon); } function goSelectedPage(table_selector, page_num){ $(table_selector).jqGrid('setGridParam', { page:page_num }).trigger("reloadGrid"); } function goFirstPage(table_selector){ goSelectedPage(table_selector, 1); } function goLastPage(table_selector){ var total_records = $(table_selector).getGridParam('records'); var total_page = Math.ceil(total_records /$(table_selector).getGridParam('rowNum') ); goSelectedPage(table_selector, total_page); } function goPrevPage(table_selector){ var page = $(table_selector).getGridParam('page'); if(page > 1) page--; goSelectedPage(table_selector, page); } function goNextPage(table_selector){ var page = $(table_selector).getGridParam('page'); var total_records = $(table_selector).getGridParam('records'); var total_page = Math.ceil(total_records /$(table_selector).getGridParam('rowNum') ); if(total_page > page) page++; goSelectedPage(table_selector, page); } function setModalSelectableBox(modal_id_selector){ $(modal_id_selector + ' .metis-modal-dialog').on('click', '.metis-selectable-box', function(e){ if( $(this).hasClass('active') ){ $(this).removeClass('active'); } else { var group_id = $(this).attr('data-selectable-group'); $(modal_id_selector + ' .metis-selectable-box[data-selectable-group=' + group_id + ']').removeClass('active'); $(this).addClass('active'); } }); } ///* jqGrid 유틸리티 함수 */ //function printTotalRowInPagination(table_selector, pagination_selector){ // var total_data_num = $(table_selector).getGridParam('records'); // // // 페이지네이션 좌측에 total 몇 개인지 출력 // $(pagination_selector).closest('.metis_pagination').find('.search_filter') // .empty() // .append("Total : " + total_data_num + " 건"); //} //function setJqGridPagination(table_selector, pagination_selector, page_range){ // // // 현재 페이지 // var cur_page = $(table_selector).getGridParam('page'); // // 전체 데이터 갯수 // var total_data_num = $(table_selector).getGridParam('records'); // // 현재 한 번에 보여주는 row 숫자 // var cur_row_limit = $(table_selector).getGridParam('rowNum'); // // 전체 페이지 길이 // var total_page_num = Math.ceil(total_data_num / cur_row_limit); // // console.debug(cur_page, total_data_num, cur_row_limit, total_page_num); // // // 현재 페이지를 기준으로 왼쪽 오른쪽의 pagination을 더해서 완성시킴 // var started_page = cur_page; // var pagination_html = getSinglePaginationBold(table_selector, cur_page); // page_range--; // // // 페이지네이션 오른쪽 조립 // while(page_range > 0 && (cur_page < total_page_num) ){ // cur_page++; // pagination_html += getSinglePagination(table_selector, cur_page); // page_range--; // } // // // // 페이지네이션 처음, 이전 // pagination_html = getFirstPagination(table_selector) + getPrevPagination(table_selector) + pagination_html; // // // 페이지네이션 다음 // pagination_html += getNextPagination(table_selector) + getLastPagination(table_selector); // // // 페이지네이션 추가 // $(pagination_selector) // .empty() // .append(pagination_html); //} //function getCustomSinglePagination(page_class, func_name, parameter, page_num){ // var param = "'" + parameter.join("','") + "'"; // page_class = '\'' + page_class + '\''; // return "" + page_num + ""; //} //function getSinglePagination(table_selector, page_num){ // var param = [table_selector, page_num]; // return getCustomSinglePagination('page', 'goSelectedPage', param, page_num); //} //function getSinglePaginationBold(table_selector, page_num){ // var param = [table_selector, page_num]; // return getCustomSinglePagination('page cur_page', 'goSelectedPage', param, page_num); //} //function getFirstPagination(table_selector){ // var param = [table_selector]; // var icon = ''; // return getCustomSinglePagination('goto', 'goFirstPage', param, icon); //} //function getNextPagination(table_selector){ // var param = [table_selector]; // var icon = ''; // return getCustomSinglePagination('goto', 'goNextPage', param, icon); //} //function getPrevPagination(table_selector){ // var param = [table_selector]; // var icon = ''; // return getCustomSinglePagination('goto', 'goPrevPage', param, icon); //} //function getLastPagination(table_selector){ // var param = [table_selector]; // var icon = ''; // return getCustomSinglePagination('goto', 'goLastPage', param, icon); //} //function goSelectedPage(table_selector, page_num){ // $(table_selector).jqGrid('setGridParam', { // page:page_num // }).trigger("reloadGrid"); //} //function goFirstPage(table_selector){ // goSelectedPage(table_selector, 1); //} //function goLastPage(table_selector){ // var total_records = $(table_selector).getGridParam('records'); // var total_page = Math.ceil(total_records /$(table_selector).getGridParam('rowNum') ); // // goSelectedPage(table_selector, total_page); //} //function goPrevPage(table_selector){ // var page = $(table_selector).getGridParam('page'); // if(page > 1) page--; // // goSelectedPage(table_selector, page); //} //function goNextPage(table_selector){ // var page = $(table_selector).getGridParam('page'); // var total_records = $(table_selector).getGridParam('records'); // var total_page = Math.ceil(total_records /$(table_selector).getGridParam('rowNum') ); // if(total_page > page) page++; // // goSelectedPage(table_selector, page); //} // 페이징 관련 내용 수정하여 기존것은 주석처리함 2016/06/23 권명호 ///* jqGrid 유틸리티 함수 */ //function printTotalRowInPagination(table_selector, pagination_selector){ // var total_data_num = $(table_selector).getGridParam('records'); // // // 페이지네이션 좌측에 total 몇 개인지 출력 // $(pagination_selector).closest('.metis_pagination').find('.search_filter') // .empty() // .append("Total : " + total_data_num + " 건"); //} //function setJqGridPagination(table_selector, pagination_selector, page_range){ // // // 현재 페이지 // var cur_page = $(table_selector).getGridParam('page'); // // 전체 데이터 갯수 // var total_data_num = $(table_selector).getGridParam('records'); // // 현재 한 번에 보여주는 row 숫자 // var cur_row_limit = $(table_selector).getGridParam('rowNum'); // // 전체 페이지 길이 // var total_page_num = Math.ceil(total_data_num / cur_row_limit); // // console.debug(cur_page, total_data_num, cur_row_limit, total_page_num); // // // 현재 페이지를 기준으로 왼쪽 오른쪽의 pagination을 더해서 완성시킴 // var started_page = cur_page; // var pagination_html = getSinglePaginationBold(table_selector, cur_page); // page_range--; // // 페이지네이션 왼쪽 최대 && 오른쪽 최대 길이 // var left_half_max = Math.ceil(page_range / 2); // var right_half_max = left_half_max; // // // 페이지네이션 왼쪽 조립 // while(left_half_max > 0 && cur_page > 1){ // cur_page--; // //왼쪽에 붙임 // pagination_html = getSinglePagination(table_selector, cur_page) + pagination_html; // left_half_max--; // } // right_half_max += left_half_max; // cur_page = started_page; // // // 페이지네이션 오른쪽 조립 // while(right_half_max > 0 && (cur_page < total_page_num) ){ // cur_page++; // pagination_html += getSinglePagination(table_selector, cur_page); // right_half_max--; // } // // // 페이지네이션 이전 // pagination_html = getPrevPagination(table_selector) + pagination_html; // // // 페이지네이션 다음 // pagination_html += getNextPagination(table_selector); // // // 페이지네이션 추가 // $(pagination_selector) // .empty() // .append(pagination_html); // // // 스크롤 추가 // $('.ui-jqgrid-bdiv').perfectScrollbar(); //} //function getCustomSinglePagination(page_class, func_name, parameter, page_num){ // var param = "'" + parameter.join("','") + "'"; // page_class = '\'' + page_class + '\''; // return "" + page_num + ""; //} //function getSinglePagination(table_selector, page_num){ // var param = [table_selector, page_num]; // return getCustomSinglePagination('page', 'goSelectedPage', param, page_num); //} //function getSinglePaginationBold(table_selector, page_num){ // var param = [table_selector, page_num]; // return getCustomSinglePagination('page cur_page', 'goSelectedPage', param, page_num); //} //function getNextPagination(table_selector){ // var param = [table_selector]; // var icon = ''; // return getCustomSinglePagination('next', 'goNextPage', param, icon); //} //function getPrevPagination(table_selector){ // var param = [table_selector]; // var icon = ''; // return getCustomSinglePagination('next', 'goPrevPage', param, icon); //} // //function goSelectedPage(table_selector, page_num){ // $(table_selector).jqGrid('setGridParam', { // page:page_num // }).trigger("reloadGrid"); //} //function goFirstPage(table_selector){ // goSelectedPage(table_selector, 1); //} //function goLastPage(table_selector){ // var total_records = $(table_selector).getGridParam('records'); // var total_page = Math.ceil(total_records /$(table_selector).getGridParam('rowNum') ); // // goSelectedPage(table_selector, total_page); //} //function goPrevPage(table_selector){ // var page = $(table_selector).getGridParam('page'); // if(page > 1) page--; // // goSelectedPage(table_selector, page); //} //function goNextPage(table_selector){ // var page = $(table_selector).getGridParam('page'); // var total_records = $(table_selector).getGridParam('records'); // var total_page = Math.ceil(total_records /$(table_selector).getGridParam('rowNum') ); // if(total_page > page) page++; // // goSelectedPage(table_selector, page); //} /** * jqGrid 함수 추가 */ $.jgrid.extend({ /** * 선택한 'row id' 리스트
* - 'selarrrow'은 선택한 순서로 'row id'가 저장되어 있어서 선택한 'row index' 기준으로 선택한 'row id'를 가져오는 함수를 추가 * * @returns 선택한 'row id'를 저장한 배열, 선택한 'row'가 없을 경우 배열의 크기는 0 */ getSelRows : function() { var rowids = []; this.each( function(){ var ts = this; $(this.rows).each(function(i) { if (i > 0) { if ($("#jqg_"+$.jgrid.jqID(ts.p.id)+"_"+$.jgrid.jqID(this.id)).is(":checked")) { rowids.push(this.id); } } }); }); return rowids; } }); //선택된 row 추출 function getGridSelectData(grid_id) { var message = ""; var table_id = "#" + grid_id; var id = $(table_id).getGridParam('selarrrow'); var ids = $(table_id).jqGrid('getDataIDs'); var dat = ""; var count = 0; var return_array = []; for (var i = 0; i < ids.length; i++) { var check = false; $.each(id, function (index, value) { if (value == ids[i]) { check = true; } }); if (check) { var rowdata = $(table_id).getRowData(ids[i]); count++; return_array.push(rowdata); } } return return_array; }