WebGrid
이 컨트롤은 무엇인가요?
WebGrid.js는 Handsontable 기반의 엑셀형 그리드 컨트롤입니다. syn.uicontrols.$grid 싱글턴 객체로 노출되며, syn.uicontrols.$xxx 공통 패턴(defaultSetting 성격의 옵션 객체 + controlLoad/getValue/setValue/clear/setLocale)을 따릅니다.
과거에는 이 폴더에 AUIGrid/AUIPivot/OpenGrid까지 함께 있었지만, 각각 별도 디렉토리(및 별도 문서)로 분리되었습니다.
| 그리드 | 문서 | 내부 라이브러리 | 성격 |
|---|---|---|---|
$grid (WebGrid.js) | 이 문서 | Handsontable | 엑셀형 그리드, 로더 자동주입, 비상용 라이선스 기반 대안 엔진 |
$auigrid | AUIGrid | AUIGrid (상용) | 업무용 그리드, 로더 자동주입, 실무 주력 엔진(300회 이상 실사용) |
$auipivot | AUIPivot | AUIGrid 기반 피벗 테이블 | 다차원 집계/피벗 리포트 |
$opengrid | OpenGrid | 자체 구현 오픈소스 그리드 | 상용 라이선스가 필요 없는 그리드 대안, 예제 다수 |
어떤 화면에서 그리드를 다루고 있는지 먼저 확인하고, 그 엔진에 맞는 문서를 참고하세요. 신규 화면에서 CRUD 그리드가 필요하면 $auigrid가 실무 표준이고, 상용 라이선스 없이 빠르게 프로토타입만 만들 때는 $grid(Handsontable, licenseKey: 'non-commercial-and-evaluation'로 기본 제공) 또는 $opengrid(자체 구현, 완전 무료)를 사용합니다.
빠른 시작
<syn_grid id="grdBasic" syn-options="{
columns: [
['ProdID', '제품코드', 120, true, 'text', false, 'left'],
['ProdName', '제품명', 200, false, 'text', false, 'left']
]
}" syn-events="['afterSelectionEnd']"></syn_grid>
<script src="/js/syn.loader.js"></script>
syn.uicontrols.$grid.setValue('grdBasic', [
{ Flag: 'R', ProdID: 'P001', ProdName: '모니터' },
{ Flag: 'R', ProdID: 'P002', ProdName: '키보드' }
]);
엑셀과 유사한 조작감(복사/붙여넣기, 자동완성 드롭다운, 필터), licenseKey: 'non-commercial-and-evaluation'로 기본 제공되어 별도 계약 없이 사용 가능합니다. 다만 상용 환경에서는 Handsontable 라이선스 정책을 별도로 확인해야 합니다.