본문으로 건너뛰기
Documentation

RwOptionList

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

RwOptionList

여러 선택 항목을 체크박스 목록으로 표시하고 선택된 객체와 값을 조회하는 구성요소입니다. 권한, 알림 대상, 표시 열처럼 사용자가 하나 이상의 항목을 고르는 화면에 사용합니다.

데이터 구성

목록은 List<RwListOptionItem> 형식의 ItemsSource에 연결합니다. 표시할 속성은 DisplayMember, 실제 업무 값으로 사용할 속성은 ValueMember로 지정합니다. 목록을 교체한 뒤에는 DataBind()를 호출해 표시 상태를 갱신합니다.

주요 항목

항목 형식 용도
ItemsSource List<RwListOptionItem> 표시할 선택 항목
DisplayMember string 사용자에게 보여 줄 속성명
ValueMember string 저장·전달할 값의 속성명
OnEvent EventCallback<RwOptionListEvent> 선택 상태 변경 알림
DataBind() 메서드 현재 목록을 다시 표시
GetSelectedValues() 메서드 선택된 값 조회

목록 표시

각 항목은 Carbon 체크박스로 표시되며, 목록이 길면 정해진 최대 높이 안에서 스크롤됩니다. 항목의 이름은 사용자가 의미를 구분할 수 있도록 작성하고, 코드만 노출해야 하는 업무가 아니라면 설명 이름을 표시합니다.

선택 처리

선택이 바뀌면 OnEvent가 호출됩니다. 화면의 저장 버튼을 활성화하거나 선택 수를 표시하는 데 사용할 수 있습니다. 이벤트 안에서 매번 전체 데이터를 저장하기보다 업무 흐름에 맞춰 즉시 저장과 일괄 저장 중 하나를 정합니다.

선택 결과 조회

선택된 객체가 필요하면 구성요소가 제공하는 선택 항목 조회 기능을 사용하고, 값 문자열이 필요하면 GetSelectedValues()를 사용합니다. 구분된 문자열을 서버 계약에 그대로 넘기기보다 가능한 경우 값 배열로 변환해 명확한 API 계약을 사용합니다.

비활성 항목

업무 규칙상 선택할 수 없는 항목은 목록에서 제거하지 않고 비활성 상태와 이유를 함께 보여 줄 수 있습니다. 기존에 선택된 값이 현재는 사용할 수 없는 상태라면 사용자가 저장 전에 이를 인지할 수 있도록 별도 안내를 제공합니다.

사용 예

<RwOptionList @ref="optionList"
              ItemsSource="notificationTargets"
              DisplayMember="Name"
              ValueMember="Id"
              OnEvent="HandleSelectionChanged" />

서버에서 목록을 다시 조회한 경우 객체를 교체한 뒤 optionList.DataBind()를 호출합니다.

문제 확인

  • DisplayMemberValueMember가 실제 항목 속성과 일치하는지 확인합니다.
  • 동일한 값이 여러 항목에 배정되지 않도록 합니다.
  • 목록 재조회 후 기존 선택을 값 기준으로 복원합니다.
  • 키보드와 화면 읽기 프로그램에서 항목 이름과 선택 상태를 확인할 수 있어야 합니다.

수정 이력

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

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

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.