RwGanttChart
RwGanttChart는 계층형 작업 목록과 기간 막대를 함께 표시해 프로젝트 일정과 선후 관계를 확인하는 구성요소입니다.
일정 막대 구성
ItemsSource의 ID, Parent ID, 시작·종료, 진행률과 의존성 필드를 지정해 트리와 시간축을 만듭니다. Day, Week와 Month 보기, 툴바와 전체 펼치기를 지원합니다.
간트 화면 적용 기준
프로젝트 작업과 공정 일정처럼 시작·종료와 계층 관계를 함께 봐야 할 때 사용합니다. 날짜가 없는 단순 할 일 목록에는 그리드가 더 명확합니다.
작업과 기간 설정
| 파라미터 | 용도 |
|---|---|
| ItemsSource | 표시할 작업 목록입니다. |
| IdField / ParentIdField | 작업 키와 상위 작업 키입니다. |
| StartField / EndField | 작업 기간 필드입니다. |
| ProgressField | 진행률 필드입니다. |
| DependenciesField | 선행 작업 연결을 표현합니다. |
| TitleField / SubtitleField | 목록의 주요 표시값입니다. |
| UseToolbar | 보기 전환 도구를 표시합니다. |
| OnSelectedItemChanged | 선택 작업 변경 이벤트입니다. |
일정 데이터 바인딩
- 고유 ID와 올바른 Parent ID를 준비합니다.
- 시작일이 종료일보다 늦지 않게 검증합니다.
- 필드 이름을 실제 모델 속성과 연결합니다.
- 초기 보기 단위와 높이·왼쪽 폭을 정합니다.
- 선택 이벤트에서 상세 화면을 연결합니다.
작업 선택과 기간 변경
OnSelectedItemChanged는 원본 행 객체를 전달합니다. 일정 편집을 제공하는 경우 표시 변경과 서버 저장을 구분하고, 저장 실패 시 원래 기간으로 되돌립니다.
시간축과 대체 정보
막대 색상만으로 지연과 상태를 구분하지 말고 작업명, 날짜와 진행률을 텍스트로 제공합니다. 키보드로 목록을 탐색하고 선택 상태를 확인할 수 있어야 합니다.
대량 작업과 조회 범위
순환 Parent ID와 순환 Dependencies를 사전에 차단합니다. 시간대가 다른 날짜를 섞지 말고 표시 기준을 통일합니다. 많은 작업을 ExpandAllOnBind로 열면 초기 렌더링이 느릴 수 있습니다.
일정 화면 점검
- 상위·하위 작업 정렬을 확인합니다.
- 일·주·월 보기에서 기간이 같은지 확인합니다.
- 의존성 없는 작업과 마감 지연 작업을 확인합니다.
