OpenGrid
이 컨트롤은 무엇인가요?
OpenGrid.js는 오픈소스 그리드 라이브러리 open-grid(MIT License, v1.3.1)를 감싼 HandStack 그리드 엔진 브리지입니다. syn.uicontrols.$opengrid 싱글턴 객체로 노출되며, <syn_opengrid> 커스텀 태그로 사용합니다.
open-grid는 ESM 전용 라이브러리라서 OpenGrid.js는 동적 import()로 /js/open-grid/open-grid.js를 비동기 로드해 window.OpenGrid에 바인딩합니다. 가상 스크롤·렌더링·정렬/필터·인라인 편집 등 그리드 엔진 자체의 구현은 전부 vendor 번들에 위임하고, OpenGrid.js는 HandStack uicontrol 관례(columns 축약 배열 정의, Flag(R/C/U/D) 기반 변경 추적, codehelp 팝업 연동 등)를 open-grid의 공개 API 위에 재배선하는 래퍼 역할만 담당합니다.
가장 큰 특징은 상용 라이선스가 필요 없다는 점입니다. AUIGrid/AUIPivot는 상용 벤더 라이브러리가 필요하고 WebGrid(Handsontable)도 상용 환경에서는 라이선스 정책을 확인해야 하지만, OpenGrid는 MIT 라이선스 오픈소스라 별도 계약 없이 자유롭게 사용할 수 있습니다.
언제 사용하나요?
- 상용 그리드 라이선스 없이 CRUD 그리드, 대용량 데이터, 차트 연동, 트리/그룹핑 등 업무용 기능이 폭넓게 필요할 때
- 신규 화면에서 라이선스 비용 없이 AUIGrid 수준의 기능(고정 컬럼, 코드헬프 팝업, 필터, 내보내기 등)을 사용하고 싶을 때
- 이미 실무 표준으로 굳어진 화면을 유지보수하는 경우라면 AUIGrid를 그대로 사용하는 편이 더 간단합니다. OpenGrid는 신규 화면이나 라이선스 제약이 있는 프로젝트에 적합합니다.