중요 업데이트 알림사용해보기제품구매도움영상문의
RealGrid2v2.5.3

  • 튜토리얼
      • 인디케이터
      • 상태바
      • 체크바
      • 체크바와 데이터 필드의 연동
      • 컨텍스트 메뉴
      • 토스트 메시지 창
      • 커서
      • 열 고정하기
      • 행 고정하기
      • 선택
      • 다중 선택
      • 같은 값의 셀 생략하기
      • 셀 버튼
      • 팝업 메뉴 버튼
      • 셀 병합
      • Lookup 컬럼
      • 툴팁
      • Lookup 트리
      • 화면 표시값 변경하기
      • 그룹헤더 툴팁
      • Place Holder
      • 컬럼 만들기
      • 컬럼 속성 동적 변경하기(visible, editable)
      • 컬럼 너비 자동 조정
      • 데이터 정렬
      • 컬럼 이동
      • 데이터 필터링
      • 자동 필터링
      • 컬럼 레이아웃(컬럼 그룹)
      • 컬럼 레이아웃(컬럼 그룹) 속성 동적 변경하기
      • 컬럼 너비 조절
      • 그룹컬럼 접기
      • 헤더 높이
      • 헤더 체크박스 사용
      • 컬럼 푸터
      • HEADER와 FOOTER에 여러줄로 표시하기
      • 상단 요약 표시
      • 푸터 병합
      • 컬럼 헤더 HTML Template
      • 컬럼 레이아웃(그룹 컬럼) 헤더 HTML Template
      • 행 높이
      • 행 그룹핑
      • 그룹핑 API
      • 행 병합 그룹핑
      • 아이템 모델
      • 그리드 동적 높이
      • JSON 데이터 가져오기
      • XML 데이터 가져오기
      • 그리드 Lazy Loading 구현
      • 마스터 디테일 예
      • provider 공유하기
      • 데이터 타입
      • 불린 타입 필드
      • 날짜 타입 필드
      • Object 타입 필드
      • Subtypes
      • 그리드의 값 가져오기
      • 그리드에 값 넣기
      • 새로운 행 추가
      • 롤백
      • 검색
      • 계산 필드
      • 그리드에서 페이징 처리 1
      • 그리드에서 페이징 처리 2
      • 행 Drag & Drop
      • Grid To Grid
      • 텍스트 렌더러
      • 체크 렌더러
      • 바 렌더러
      • 이미지 렌더러
      • 아이콘 렌더러
      • 도형 렌더러
      • 시그널 렌더러
      • 링크 렌더러
      • HTML 렌더러
      • 바코드 렌더러
      • 커스텀 렌더러 - 이미지버튼
      • 구글차트 연동
      • 하이차트 연동
      • 시리즈 컬럼
      • 스파크 컬럼
      • 데이터 추가 또는 삽입
      • 데이터 수정
      • 데이터 삭제
      • 행 상태
      • 기본 편집기
      • Bootstrap Date Picker
      • Undo / Redo
      • 복사하기/붙여넣기
      • 마스크 편집기
      • 숫자 편집 버튼
      • 입력제한 편집기
      • 병합 일괄 수정
      • RealGrid2 스타일
      • 사용자 스타일 - 개요
      • 바디 영역 스타일
      • 헤더, 풋터, 상태바 스타일
      • 셀, 데이터 영역 스타일
      • 편집 영역 스타일
      • styleName 속성 및 콜백
      • 컬럼 동적 스타일
      • 행 동적 스타일
      • 셀 동적 스타일
      • RealGrid2 테마
      • 포커스 스타일
      • 엑셀 내보내기
      • 행 그룹된 그리드 내보내기
      • 여러 레이아웃으로 구성된 그리드 내보내기
      • 다중 그리드 Excel 내보내기
      • Excel문서에 제목 추가하기
      • 엑셀 스타일
      • 이미지 엑셀 내보내기
      • 사용자 지정 문자 출력
      • 엑셀 시트 보호
      • Mobile FormView
      • 대량 데이터 불러오기
      • 트리뷰
      • 트리 구현 - Array데이터
      • 트리 구현 - Object데이터
      • 트리 구현 - Xml데이터
      • 트리 노드 조작하기
      • 트리 아이콘 1
      • 트리 아이콘 2
      • 트리 이벤트
      • 트리 Lazy Loading
      • 사용자 지정 컬럼 유효성 검사
      • 사용자 지정 행 유효성 검사
      • 전체 유효성 검사
      • 유효성 검사 통과
      • 이벤트 발생 순서
      • 클릭 이벤트
      • 렌더링 완료 이벤트
      • 하이차트 연동 컬럼 선택
      • 하이차트 연동 컬럼 필터링
      • 하이차트 연동 행 선택
      • amchart 연동 체크 선택
      • amchart 연동 행 선택
      • 필드와 컬럼 일괄 생성
      • SPAN(컬럼그룹)
      • 행 상태에 따른 특정 컬럼 편집 제어
      • CheckBar에서 자식 노드 연동하여 체크하기
      • Excel Import
      • Group Footer 표시여부 조작하기
      • 체크바와 관계된 팁
      • 상태바와 관계된 팁
      • 동적 에디터 변경
      • text타입 날짜 편집기
      • ColorPicker 연결
      • 파일 Drag and Drop

페이지 네비게이션을 사용하여 페이지 이동.

리얼그리드의 기능과 자바스크립트를 이용하여 페이지 네비게이터를 구현한 데모 입니다. 그리드 하단에 페이지 네비게이터가 위치할 div를 생성하여 처리 합니다.

//페이지 네비게이션 생성 및 이동 처리
function paging(totalData, dataPerPage, pageCount, currentPage){
  console.log("currentPage : " + currentPage);
  
  var totalPage = Math.ceil(totalData/dataPerPage);    // 총 페이지 수
  var pageGroup = Math.ceil(currentPage/pageCount);    // 페이지 그룹
  
  console.log("pageGroup : " + pageGroup);
  
  var last = pageGroup * pageCount;    // 화면에 보여질 마지막 페이지 번호
  if(last > totalPage)
      last = totalPage;
  var first = last - (pageCount-1);    // 화면에 보여질 첫번째 페이지 번호
  var next = last+1;
  var prev = first-1;
  
  console.log("last : " + last);
  console.log("first : " + first);
  console.log("next : " + next);
  console.log("prev : " + prev);

  var $pingingView = $("#paging");
  
  var html = "";

  if(prev == 0) {
      html += "<a href=# id='first' className='disabled'>|<</a> ";
      html += "<a href=# id='prev' className='disabled'><</a> ";
  } else {
      html += "<a href=# id='first'>|<</a> ";
      html += "<a href=# id='prev'><</a> ";         
  }
  
  
  for(var i=first; i <= last; i++){
      html += "<a href='#' style='width: 50px' id=" + i + ">" + i + "</a> ";
  }
  
  if(last < totalPage) {
      html += "<a href=# id='next'>></a>";
      html += "<a href=# id='last'>>|</a>";
  } else {
      html += "<a href=# id='next' className='disabled'>></a>";
      html += "<a href=# id='last' className='disabled'>>|</a>";
  }
  
  $("#paging").html(html);    // 페이지 목록 생성
  
  $("#paging a").css({"color": "black",
                      "padding-left": "10px"});
                      
  $("#paging a#" + currentPage).css({"text-decoration":"none", 
                                     "color":"red", 
                                     "font-weight":"bold"});    // 현재 페이지 표시
                                     
  $("#paging a").click(function(){
      var $item = $(this);
      var $id = $item.attr("id");
      var selectedPage = $item.text();
      

      if($id == "first")   selectedPage = 1;
      if($id == "next")    selectedPage = next;
      if($id == "prev")    selectedPage = prev;
      if($id == "last")    selectedPage = totalPage;
      
      gridView.setPage(selectedPage-1);
      paging(totalData, dataPerPage, pageCount, selectedPage);
  });
                                     
}

//SelectBox를 이용한 페이지 이동
function setPageSelbox(totalData, dataPerPage){
  var totalPage = Math.ceil(totalData/dataPerPage);    // 총 페이지 수

  //SelectBox에 페이지를 채움
  for (var i=1; i <= totalPage; i++) {
      var optStr = "<option value=" + i + ">" + i + "</option>"
      console.log(optStr);
      $("#selBox").append(optStr);
  }

  //값 변경시 페이지 이동
  $("#selBox").change(function() {
      var totalData = dataProvider.getRowCount();    // 총 데이터 수
      var dataPerPage = 8;    // 한 페이지에 나타낼 데이터 수
      var pageCount = 3;        // 한 화면에 나타낼 페이지 수
      var selectedPage = $(this).val();

      gridView.setPage(selectedPage-1);
      paging(totalData, dataPerPage, pageCount, selectedPage);
  })
}