Programing/jQuery

jqGrid dataType json CRUD + filterToolbar + dateRangePicker 3부 헤더 정렬

리커니 2017. 11. 30.
반응형

추천 그리드 ▼

Link : https://aljjabaegi.tistory.com/593

 

[VanilaJS Free Grid library] Aljjabaegi Grid Grand Open

[Free Grid library] Aljjabaegi Grid Grand Open 여러 무료 라이브러리를 사용해오다가 많은 요구사항에 맞추어 커스텀하기 어려워 직접 만든 그리드를 공개합니다. 페이징, 정렬, 단일조회, 복수조회,

aljjabaegi.tistory.com

 

jqGrid dataType json CRUD + filterToolbar + dateRangePicker 3부 헤더 정렬

 

Link : jqGrid dataType json CRUD + filterToolbar + dateRangePicker 1부 데이터 조회

Link : jqGrid dataType json CRUD + filterToolbar + dateRangePicker 2부 페이징 설정

 

이전 1부와 2부 포스팅에서 데이터 조회와 페이징 설정 방법에 대해 알아보았습니다.

이번 3부 포스팅에서는 테이블의 헤더를 클릭해 오름/내림 차순 정렬을 하는 방법을 알아보도록 하겠습니다.

 

헤더의 정렬값을 파라메터로 넘기기 위해서는 jqGrid의 onSortCol 옵션을 사용합니다.

 

2부의 jqGridFunc의 setGrid에  onSortCol 옵션을 추가합니다.

 

1
2
3
4
5
onSortCol: function(columnName, columnIndex, sortOrder) {
    $('#columnName').val(columnName);
    $('#sortOrder').val(sortOrder);
    $('#csrList').jqGrid().trigger("reloadGrid");
},
cs

 

위와같이 추가 할 경우

columName에 클릭한 헤더의 name이

columIndex에 클릭한 헤더의 index가

sortOrder에 오름 내림차순 값이 들어오게 됩니다. (asc, desc)

 

그래서 html 에 hidden으로 숨겨둔 값의 value에 해당 값을 넣습니다.

 

1
2
<input type="hidden" id="columnName" value=""/>
<input type="hidden" id="sortOrder" value=""/>
cs

 

2부에서 gridOption.postData를 보시면 columnName과 sortOrder를 파라메터로 넘기는것을 확인하실 수 있습니다.

 

1
2
3
4
5
6
7
postData : {
    pageIndex : 1,
    pageUnit : 10,
    pageSize : 10,
    columnName : function(){return $("#columnName").val()},
    sortOrder : function(){return $("#sortOrder").val()},
},
cs

 

 

 

이렇게 넘긴 값을 myBatis의 $를 활용하여 order by 쿼리문에 추가해주시면 됩니다.

 

1
2
3
<if test="columnName != null and columnName != ''">
    ORDER BY ${columnName} ${sortOrder}
</if>
cs

 

pageIndex와 pageUnit은 beforeRequest 옵션에서 설정해 주므로 현재 값이 넘어가게 되니 신경 안쓰셔도 되구요

(2부 참고)

 

이제 그리드의 헤더 클릭시 오름/내림차순 정렬이 되는것을 확인하실 수 있습니다.

 

 

다음 4부에서는 filterToolbar를 활용하여 멀티 조건 조회 하는 방법을 알아보도록 하겠습니다.

Link : jqGrid dataType json CRUD + filterToolbar + dateRangePicker 4부 멀티 조건 조회

 

반응형

댓글

💲 추천 글