[javascript] TableSorter를 이용한 테이블의 특정 행/열을 고정하기

웹 페이지에서 테이블을 표시할 때 많은 양의 데이터를 효과적으로 관리하고 조작하기 위해 TableSorter 플러그인을 사용하는 경우가 많습니다. 이 플러그인을 사용하면 테이블의 행과 열을 정렬하고 필터링할 수 있으며, 사용자 경험을 향상시킬 수 있습니다.

일부 상황에서는 테이블의 특정 행이나 열을 고정해야 할 수 있습니다. 예를 들어, 테이블의 헤더 행을 스크롤하여 항상 보이도록 하거나, 테이블의 첫 번째 열을 고정하여 데이터를 비교하기 편하게 표시할 수 있습니다.

TableSorter 플러그인을 사용하여 특정 행을 고정하는 방법

TableSorter를 사용하여 테이블의 특정 행을 고정하려면 widget-floatThead 옵션을 사용할 수 있습니다. 이 옵션을 설정하면 스크롤될 때 해당 행이 항상 보이게 할 수 있습니다.

아래는 widget-floatThead를 사용하여 테이블의 첫 번째 행을 고정하는 예제입니다.

$('table').tablesorter({
  widgets: ['zebra', 'floatThead'],
});

위의 코드에서 widget-floatThead 옵션을 설정하여 첫 번째 행을 고정했습니다.

TableSorter 플러그인을 사용하여 특정 열을 고정하는 방법

TableSorter를 사용하여 테이블의 특정 열을 고정하려면 CSS 및 JavaScript를 조합하여 열을 고정할 수 있습니다.

먼저, CSS를 사용하여 고정할 열의 스타일을 정의합니다. 예를 들어, 첫 번째 열을 고정하는 경우 다음과 같이 CSS를 작성할 수 있습니다.

.fixed-column {
  position: sticky;
  left: 0;
  background-color: white;
  z-index: 1;
}

그런 다음, JavaScript를 사용하여 해당 열을 고정합니다.

$(function() {
  $('table').tablesorter({
    widgets: ['zebra'],
  });

  // 첫 번째 열을 고정합니다.
  $('table th:first-child, table td:first-child').addClass('fixed-column');
});

위의 예제에서는 JavaScript를 사용하여 첫 번째 열을 고정했습니다. addClass 함수를 사용하여 해당 열에 fixed-column 클래스를 추가하여 열을 고정했습니다.

테이블의 특정 행이나 열을 고정하여 TableSorter를 사용하면 사용자가 데이터를 효과적으로 관리하고 조작할 수 있도록 도와줍니다.

참고 자료

TableSorter 공식 문서 및 GitHub 저장소에서 더 많은 자료를 찾을 수 있습니다.