안녕하세요 그레이프시티입니다.
문의 주신 내용에 대해 다음과 같이 답변드립니다.
1. Selector 컨트롤의 itemChecked 이벤트를 이용하여 선택된 행의 데이터를 불러 오는 방법
그리드의 행 filter 속성과 조건문을 이용하여 행의 isSelected 속성이 true 이면 해당 행의 dataItem 속성 값을 불러오는 코드를 Selector 컨트롤의 itemChecked 이벤트에 구현해 보시기 바랍니다.
이와 관련된 API 문서를 첨부해 드리오니 참고해 보시기 바랍니다.
- filter API 문서
- isSelected API 문서
- dataItem API 문서
자세한 코드는 아래의 샘플을 확인해 보시기 바랍니다.
2. 그리드 내부의 모든 셀들을 선택하는 체크 박스와 특정 행의 셀들을 선택하는 체크 박스를 구분 하는 방법
그리드 클릭 시, hitTest 메서드와 CellType 속성을 이용하여 클릭된 부분이 체크 박스 인 경우 해당 체크 박스가 존재하는 영역을 확인할 수 있습니다.
CellType 속성이 RowHeader 인 경우 특정 행의 셀들을 선택하는 체크 박스 임을 나타내며, TopLeft 인 경우 그리드 내의 모든 셀들을 선택하는 체크 박스 임을 나타내니 이점 참고해 주시기 바랍니다.
자세한 코드는 아래의 샘플을 참고해 보시기 바라며, 브라우저 창의 '개발자 도구>Console' 탭에서 선택된 체크 박스가 존재하는 영역에 대한 정보를 확인해 보실 수 있습니다.
추가적으로 Selector 컨트롤의 itemChecked 이벤트 호출 시, 그리드의 selectedItems 속성을 이용하여 확인하는 방법도 존재합니다.
다만, 그리드의 selectedItems 속성을 이용한 방법을 사용하시는 경우 그리드 내부의 모든 셀들을 선택하는 체크 박스 클릭 시 선택된 모든 셀의 데이터를 불러오기에 어려움이 있을 수 있습니다.
따라서 위의 방법을 이용해 보시는 것을 추천 드립니다.
이와 관련된 API 문서를 첨부해 드리오니 참고해 보시기 바랍니다.
- hitTest API 문서
- cellType API 문서
- CellType Enumeration API 문서
- selectedItems API 문서
다른 궁금한 점이 생기면, 문의 주시기 바랍니다.
감사합니다.
그레이프시티 드림