GridList
이 컨트롤은 무엇인가요?
GridList는 DataTables를 감싸서 만든 "목록 표시용" 그리드 컨트롤입니다. HTML 마크업에서는 <syn_list> 태그와 syn-options 속성을 사용하고, JavaScript 코드에서는 syn.uicontrols.$list.메서드명(...) 형태로 호출합니다. 소스 파일 이름은 GridList.js이지만, 실제 등록되는 모듈 이름은 syn.uicontrols.$list 입니다.
WebGrid($grid, Handsontable 기반)와의 차이가 가장 헷갈리기 쉬운 부분입니다.
- WebGrid (
$grid): 셀 단위로 값을 직접 입력/수정할 수 있는 "편집 가능한 스프레드시트형" 그리드입니다. 엑셀처럼 셀을 클릭해서 값을 고치고, 행 추가/삭제, 셀 유효성 검사 등을 지원합니다. 입력 폼을 대신하는 대량 데이터 편집 화면에 적합합니다. - GridList (
$list): 셀 편집 기능이 없는 "읽기 전용 목록 표시" 그리드입니다. 정렬, 검색(컬럼별 필터), 페이징, 체크박스를 이용한 다중 선택(행 선택) 정도만 지원하며, 값을 바꾸려면setValue로 데이터 전체를 통째로 교체해야 합니다. 목록 조회 화면, 검색 결과 표시, 체크박스로 여러 건을 골라 일괄 처리하는 화면에 적합합니다.
즉, "셀을 직접 고쳐야 하면 WebGrid, 목록만 보여주고 행 단위로 선택/클릭만 하면 되면 GridList"라고 이해하면 됩니다.
언제 사용하나요?
- 검색 조건에 맞는 데이터 목록을 표 형태로 보여줄 때
- 여러 행을 체크박스로 선택해서 일괄 삭제/승인 등 후속 처리를 해야 할 때
- 행을 클릭하거나 더블클릭했을 때 상세 화면으로 이동하거나 팝업을 띄워야 할 때
- 컬럼별 검색, 정렬, 페이징이 필요한 단순 조회성 그리드가 필요할 때
셀 값을 사용자가 직접 입력/수정해야 하는 화면이라면 GridList 대신 WebGrid를 사용하세요.