BLOG ARTICLE jqGrid | 1 ARTICLE FOUND

  1. 2012.04.17 [jqGrid] json 데이터형식으로 jqGrid 간단하게 만들어보기 (2)

Json 데이터타입으로 jqGrid 를 만들어 보자.  - 초보용(저도 잘몰라요 ㅠㅠ)


필수 데이터 [

String page : 현재 페이지

String total : rows에 의한 총 페이지수

String records : 보여지는 데이터 개수


List rows [

{

String id : jqGrid 내부적으로 쓰이는 id값

List cell : 각 row 에 들어가는 column의 개수와 순서에 맞게 배열

},

{

String id : jqGrid 내부적으로 쓰이는 id값

List cell : 각 row 에 들어가는 column의 개수와 순서에 맞게 배열

},

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

]

]


위 데이터들은 컨트롤러에서 필수적으로 만들어져야한다.




뷰페이지


jQuery('#list1').jqGrid({

url:"/jqgrid.do"

,datatype:"json"

,loadError:function(){alert("Error~!!");}

,colNames:['번호', '이름', '등록 날짜', '제 목', '조회수', '댓글', '게시글번호']

,colModel:[

          {name:"id", index:'id', width:60, align:'center'}

          ,{name:"registerId", index:'registerId', width:60, align:'center'}

          ,{name:"registDatetime", index:'registDatetime', width:60, align:'center'}

          ,{name:"postTitle", index:'postTitle', width:400, align:'center'}

          ,{name:"readCnt", index:'readCnt', width:60, align:'center'}

          ,{name:"replyCnt", index:'replyCnt', width:60, align:'center'}

          ,{name:"postNo", index:'postNo', width:60, align:'center'}

          ]

,rowNum:10

,autowidth: false

,rowList:[10,20,30]

,pager: jQuery('#nav')

,sortname: 'id'

,viewrecords: true

,sortorder:'desc'

,width: 760

,height: '100%'

,onSelectRow: function(id){

alert(id);

}

,hidegrid: false

,caption: '마고 그리드'

});

<table id="list1"></table>

<div id="nav"></div>

---------------------------------------------------------------------------------------------

호출할 때 jqGrid 가 알아서, page 와 rows의 값을 던지나 보다. 

컨트롤러에서 꺼내면 첫 호출때는 page=1, rows= 저기위에 rownum 에 준 값


pager는 페이지네비게이션을 자동으로 만들어준다.







데이터 

MargoList returnList = new MargoList();
		List> dbList = null;
					
		try {
			dbList = bbsService.getBbsList(map);
		} catch (ServiceException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		int listSize = dbList.size();
				
		if(listSize > 0){
			
			int page = Integer.parseInt(request.getParameter("page"));
			int rows = Integer.parseInt(request.getParameter("rows"));
			
			long totalRow = Long.parseLong(dbList.get(0).get("total"));
			double totalPage;
			
			if(totalRow > 0){
				totalPage = Math.ceil(totalRow/rows) + 1;
			}else{
				totalPage = 0;
			}
			
			returnList.setTotal(totalPage + "");
			returnList.setPage(page + "");		
			returnList.setRecords(dbList.size() + "");
			
			List setMargoCell = new ArrayList();
			
			for(int i = 0; i < listSize; i++){
				
				map = dbList.get(i);
				
				List cellList = new ArrayList();
				
				MargoCell cell = new MargoCell();
				
				cell.setId((i+1)+"");
				
				cellList.add((i+1)+"");
				cellList.add(map.get("registerId"));
				cellList.add(map.get("registDatetime"));
				cellList.add(map.get("postTitle"));
				cellList.add(map.get("readCnt"));
				cellList.add(map.get("replyCnt"));
				cellList.add(map.get("postNo"));
				cellList.add(map.get("deleteStatus"));
				
				cell.setCell(cellList);
				setMargoCell.add(cell);
			}
			returnList.setRows(setMargoCell);
		}
		return returnList;




YOUR COMMENT IS THE CRITICAL SUCCESS FACTOR FOR THE QUALITY OF BLOG POST
  1. 오세욱 2015.03.25 15:01 신고  댓글주소  수정/삭제  댓글쓰기

    이거 소스좀 받을수 있을까요?

  2. 1 2016.07.22 09:27 신고  댓글주소  수정/삭제  댓글쓰기

    안녕하세요. 이거 혹시 소스 보내주실수 있으신지요(yp.cho@halla.com