RwDataGrid
RwDataGrid는 조회, 선택, 편집, 정렬, 필터, 페이징과 개인화를 제공하는 업무용 데이터 그리드입니다.
표 화면 구성
ItemsSource와 Columns를 중심으로 구성하고 행·셀 이벤트를 상위 화면에 전달합니다. 대량 데이터용 Virtual Mode, 다중 선택, 행 상세, 드래그와 개인화 저장을 선택적으로 사용할 수 있습니다.
그리드 적용 기준
업무 목록처럼 열 구조가 명확하고 정렬·필터·선택이 필요한 데이터에 사용합니다. 카드 중심 정보나 소량의 읽기 전용 값에는 표 또는 목록이 더 적합합니다.
열과 데이터 설정
| 파라미터 | 용도 |
|---|---|
| ItemsSource | 표시할 행 목록입니다. |
| Columns | 열 필드, 제목, 형식과 편집 규칙입니다. |
| UsePager / PageSize | 클라이언트 페이징 구성을 지정합니다. |
| UseVirtualMode | 대량 데이터 가상 렌더링을 사용합니다. |
| UseMultiSelect | 여러 행 선택을 허용합니다. |
| EditorMode | 셀 또는 행 편집 방식을 정합니다. |
| UsePersonalization | 사용자별 열 배치 저장을 사용합니다. |
| RowSelected / CellValueChanged | 선택과 편집 결과 이벤트입니다. |
조회와 바인딩
- 안정적인 키를 가진 ItemsSource를 준비합니다.
- Columns에 필드, 형식과 편집 가능 여부를 정의합니다.
- 조회량에 맞게 Pager 또는 Virtual Mode를 선택합니다.
- 선택·편집 이벤트를 업무 처리 메서드에 연결합니다.
- 로딩, 빈 결과와 오류 상태를 화면에 구분해 표시합니다.
선택과 셀 편집
행 선택, 더블클릭, 셀 선택과 값 변경 이벤트는 서로 다른 사용자 의도를 나타냅니다. 저장은 CellValueChanged만으로 즉시 실행하기보다 변경 상태를 모아 명시적 저장 흐름과 연결하는 편이 안전합니다.
표 탐색과 키보드
열 제목과 행 선택 상태가 스크린리더에 전달되는지 확인합니다. 키보드 이동과 포커스 표시를 유지하고, 가로 스크롤이 필요한 표에는 현재 위치를 잃지 않도록 합니다.
페이징과 대량 데이터
Pager와 Virtual Mode를 동시에 설계할 때 데이터 소유권을 명확히 합니다. 개인화 키는 화면과 사용자별로 고유해야 합니다. 행 드래그는 실제 정렬 저장과 연결되지 않으면 시각적 결과만 남을 수 있습니다.
그리드 점검
- 0건, 1건과 대량 데이터에서 레이아웃을 확인합니다.
- 정렬·필터 후 선택 행이 올바른지 확인합니다.
- 편집 취소와 저장 실패에서 원래 값이 보존되는지 확인합니다.
