본문으로 건너뛰기
Documentation

RwPager

마지막 게시: 2026-07-21 19:00

RwPager

목록의 전체 건수, 현재 페이지와 페이지 크기를 표시하고 이전·다음 페이지 이동을 처리합니다. 서버 페이지 조회와 연결할 때는 검색 조건, 정렬과 페이지 상태를 하나의 조회 요청으로 관리합니다.

화면 구성

왼쪽에는 전체 항목 수와 선택적으로 하위 항목 수를 표시하고, 오른쪽에는 페이지 크기 선택과 이전·다음 이동 버튼을 배치합니다. 현재 페이지는 CurrentPage로, 한 페이지의 항목 수는 PageSize로 전달합니다.

주요 항목

항목 형식 설명
ItemsCount int 검색 조건에 맞는 전체 항목 수
CurrentPage int 현재 페이지, 기본값 1
PageSize int 한 페이지에 표시할 항목 수
PageSelected EventCallback<int> 페이지 이동 요청
PageSizeChanged EventCallback<int> 페이지 크기 변경 요청
SubItemsTitle string 하위 항목 수의 이름
SubItemsCount int 하위 항목 수

서버 조회 연결

PageSelected가 호출되면 전달된 페이지 번호와 현재 PageSize, 검색 조건과 정렬을 함께 API로 보냅니다. 응답의 목록뿐 아니라 전체 건수를 ItemsCount에 반영해야 마지막 페이지와 이동 가능 상태가 정확해집니다.

페이지 크기 변경

PageSizeChanged가 호출되면 보통 첫 페이지로 돌아가 다시 조회합니다. 기존 페이지 번호를 유지하면 새 페이지 크기에서 범위를 벗어날 수 있습니다. 사용자가 선택한 크기를 화면 재방문 시 유지할지는 제품 설정에 따라 결정합니다.

검색과 정렬

필터나 정렬이 바뀌면 첫 페이지에서 다시 조회합니다. 이전 검색의 페이지 번호가 남으면 결과가 있는데도 빈 목록이 보일 수 있습니다. URL 상태를 사용하는 화면은 페이지, 크기, 검색어와 정렬을 함께 직렬화합니다.

사용 예

<RwPager ItemsCount="result.TotalCount"
         CurrentPage="query.Page"
         PageSize="query.PageSize"
         PageSelected="MovePage"
         PageSizeChanged="ChangePageSize" />

이벤트 처리 중에는 같은 이동 요청이 반복되지 않도록 버튼 상태를 관리하고, 응답이 도착하면 현재 조회 조건과 일치하는 결과인지 확인합니다.

하위 항목 표시

SubItemsTitleSubItemsCount는 전체 업무 항목 외에 첨부 파일이나 세부 행 수를 함께 알려야 할 때 사용합니다. 전체 건수와 의미가 다른 값이므로 제목을 생략한 숫자만 표시하지 않습니다.

문제 확인

  • 전체 건수가 0일 때 현재 페이지가 1로 유지되는지 확인합니다.
  • 마지막 페이지에서 항목 삭제 후 범위를 벗어나면 이전 유효 페이지를 다시 조회합니다.
  • 빠르게 연속 이동했을 때 늦게 도착한 이전 응답이 최신 목록을 덮지 않도록 합니다.
  • 이동 버튼의 비활성 상태와 접근성 이름을 확인합니다.

수정 이력

이 문서의 변경 내역을 시간순으로 볼 수 있습니다.

표시할 수정 이력이 없습니다.

An unhandled error has occurred. Reload 🗙

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.