selfstarter

dataTable 데이터 삭제 후 기존 페이지 유지 본문

Web/Html

dataTable 데이터 삭제 후 기존 페이지 유지

selfstarter 2019. 7. 12. 11:41

dataTable 데이터 삭제 후 기존 페이지 유지하기

문제상황

  • 기획은 crud 게시판 리스트가 있는데, 게시물 제목 앞에 체크박스가 있다. 이 체크박스를 선택하여 해당 게시물이 삭제되고 페이지는 그대로 유지되어야 한다.
  • 기본설정으론 데이터테이블에서 어떤 게시물을 삭제하고 reload를 요청하면 1페이지 정보를 전달해서 데이터를 요청하기 때문에 삭제 후 페이지 1로 돌아간다.

해결방법

  • reload할 때 두번째 인자를 false로 준다. 첫번째 인자는 callback 함수이고 두번째 함수는 true면 첫페이지로 이동하는 것이고 false면 현재 페이징 위치를 유지하는 것이다
 table.ajax.reload( null, false );
  • 현재 페이지는 유지하기 때문에 마지막 페이지 빼고 문제가 없다.
  • 마지막 페이지는 마지막 페이지의 데이터를 전부 다 삭제 했지만 현재 페이징 위치 유지 옵션으로 인해 이전 페이지로 이동하지 않는 것이다.
  • 그리고 기존 설정을 유지하는 옵션 때문에 start값이 변하지 않는다. 만약 현재 페이지에 데이터가 없다면 start - length를 해서 이전 페이지의 데이터를 요청해야한다
  • 그렇기 때문에서 서버에서 start값과 현재 게시물 개수를 비교해서 같다면 length만큼 빼주는 처리를 해야한다.
  • 클라이언트에서는 페이지를 이전 페이지로 이동시키는 작업을 한다
table.page( 'previous' ).draw( 'page' );
  • 이렇게 작업하면 마지막페이지에서 모든 데이터가 없을 때 이전 페이지로 잘 이동하게 된다.

'Web > Html' 카테고리의 다른 글

리베하얀님 HTML4, CSS1,2, 전체 초기화 CSS파일 정리  (0) 2019.12.29
line-height 줄의 높이를 지정하는 속성  (0) 2019.11.26
Html Table 구조  (0) 2019.11.01
WEB GET, POST 차이  (0) 2019.10.28
IE의 caching이슈  (0) 2019.07.02
Comments