본문 바로가기

IT/script

jqgrid 페이지 기능 활성화

Jqgrid


Jqgrid의 페이지 활성화와 데이터 출력시 출력 목록 갯수보다 전체 카운터가 많은데 

NEXT 버튼 기능이 비활성화가 되는 경우 문제해결


매우 간단한 문제이다.

한번 알고 나면 쉽지만 알아 가기 까지 매우 까다로운거 같다.


jqgrid 생성 및 페이지 사용 방법


1. 선언

<table id ="listInfo" class="scroll">

 <div id="pagerInfo"></div>

2. 생성

$("#listInfo").jqGrid({

datatype:'json',

mtype:'POST',

url :'',

postData: $("#VO").serialize(),

jsonReader:{

root:"resultList",

"page":"paginationInfo.currentPageNo",

"total":"paginationInfo.totalPageCount",

"records":"paginationInfo.totalRecordCount",

repeatitems:false

},

colNames : [],

colModel: [],

rowNum: 20,

..............

})


3. 조회

JAVA


List resultList = service.페이지처리 건수

int total = service.데이터 전체건수


paginationInfo.setTotalRecordCount(total);


ModelAndView modelView = new ModelAndView();

modelView .addObject("resultList",'조회리스트');

modelView .addObject("paginationInfo",paginationInfo);

modelView .setViewName("jsonView");

return moelview;


4. 결론

total <- 50건이라는 가정

rowNum : 20  <- 20개의 row씩 출력

JAVA에서 로그를 찍어보면 전체 카운터 갯수는 50건인데

그리드에 출력 되는 총 갯수는 20로 출력 되는 경우 ,

그리드의 페이지 다음/이전 버튼이 비활성화 되는 경우


5. 처리방법

JAVA의 데이터 조회하는 부분에 <- try {}catch(){} 를 사용하라

참고: 메소드 생성시 

Public ModelAndView 메소드이름 (파라미터) throws Exception{

메소드 생성시 인셉션 처리를하면 DAO를 통해 데이터를 조회하는 문장에는 오류가 발생되지 않는다.

그렇기 때문에 메소드 안에

Try{}catch(){} 를 누락 시키고 하는 개발자가 많다


메소드에 선언한 / Exception try,catch의 Exception은 다르다는걸 명심하자

}


JQgrid 옵션 loadonce:true 옵션 제거




'IT > script' 카테고리의 다른 글

window property 커스텀  (0) 2016.10.05
treeGrid  (0) 2016.10.05
jstree  (0) 2016.10.05
jqgrid  (0) 2016.10.05
jqgrid local 데이터 출력갯수  (0) 2016.03.07