API 레퍼런스
createGrid(element, options)가 아래 API를 돌려줍니다. destroy() 이후의 호출은 무시됩니다.
createGrid(element, options)가 아래 API를 돌려줍니다. destroy() 이후의 호출은 무시됩니다.
| 메서드 | 반환값 | 설명 |
|---|---|---|
setData(rows, { scrollToTop? }) | void | 모든 행을 교체합니다. scrollToTop을 주지 않으면 스크롤 위치가 유지됩니다. |
getData() | Row[] | 현재 행(필터·정렬 전). |
setColumns(defs) | void | 컬럼 정의를 교체합니다. |
getColumnState() / applyColumnState(state) | ColumnState[] | 순서, 너비, 표시 여부, 고정 상태를 저장/복원합니다. |
resetColumnState() | void | 컬럼 정의 상태로 되돌립니다. |
setColumnVisible(colId, visible) | void | 컬럼을 표시하거나 숨깁니다. |
autoSizeColumns(colIds?) | void | 헤더와 보이는 셀에 맞춰 너비를 조절합니다. |
openColumnChooser() / closeColumnChooser() | void | 떠 있는 컬럼 선택 창. |
toggleSideBar(open?) | void | 오른쪽 컬럼 패널을 열거나 닫습니다. |
setSort(items) / getSort() | SortItem[] | 예: [{ colId: 'total', dir: 'desc' }]. |
setFilter(colId, model | null) / getFilterModel() | FilterModel | 컬럼 하나의 필터를 설정하거나 해제합니다. |
setQuickFilter(text) | void | 보이는 모든 컬럼에서 검색합니다. |
getSelectedRows() / selectAll() / deselectAll() | Row[] | 선택 관련. selectAll은 필터된 행을 선택합니다. |
setSummary(options | null) / getSummaryValues() | object[] | 요약 행 변경, 집계 원값 조회. |
getRange() / setRange(range | null) | GridRange | 활성 셀 범위를 읽거나 설정합니다. |
getRanges() / setRanges(ranges) | GridRange[] | Ctrl+클릭·Ctrl+드래그로 추가한 범위를 포함한 모든 범위. 마지막이 활성 범위입니다. |
copySelection({ headers? }) | string | 범위를 엑셀 TSV로 복사하고 돌려줍니다. |
pasteText(text) | { changed, skipped } | 범위나 포커스 셀에 TSV/엑셀 텍스트를 붙여넣습니다. |
startEdit(rowIndex, colId) / stopEdit(cancel?) | boolean / void | 편집기를 열거나 닫습니다. |
addRows(rows, index?) / removeRows(rows | fn) / removeSelectedRows() | Row[] | 행 추가/삭제(변경 추적, 실행 취소 가능). |
getModifiedRows() / getChanges() / hasChanges() | object | 추가/수정/삭제 행과 컬럼 단위 변경 내역. |
commitChanges() / revertChanges() | void | 변경을 확정하거나 모두 되돌립니다. |
undo() / redo() / canUndo() / canRedo() | void / boolean | 편집·붙여넣기·행 변경 실행 취소. |
fillRange(target) | void | 선택 영역에서 더 큰 범위로 채웁니다(연속값 인식). |
find(text) / findNext() / findPrevious() / clearFind() | number / void | 일치하는 셀을 강조하고 이동합니다. |
setPinnedRows({ top?, bottom? }) | void | 고정 행을 바꿉니다. |
setGroupBy(colIds) / getGroupBy() | void / string[] | 그룹 기준을 바꾸거나 읽습니다. |
expandAll() / collapseAll() / setGroupExpanded(key, open) | void | 그룹과 트리 행을 펼치거나 접습니다. 그룹 키는 'country:KR|city:Seoul' 형태, 트리 키는 행 ID입니다. |
setDetailExpanded(row, open) / isDetailExpanded(row) | void / boolean | 상세 패널을 열고 닫거나 상태를 확인합니다. |
dropRow(row, target, position?) | boolean | 행을 다른 행의 'before'(앞), 'after'(뒤), 트리에서는 'inside'(안)로 옮깁니다. target이 null이면 맨 끝. 거부되면 false. |
moveRow(row, toIndex) | boolean | 원본 데이터에서 행을 옮깁니다(실행 취소 가능). 정렬·필터·그룹 중에는 false. |
setPage(n) / getPage() / getPageCount() | void / number | 쪽을 이동합니다(0부터 시작). |
setPageSize(n) / getPageSize() | void / number | 쪽당 행 수를 바꿉니다. |
refreshRows() | void | 서버 데이터: 캐시를 비우고 다시 불러옵니다. |
exportXlsx(filename?, options?) / getXlsx(options?) | void / Uint8Array | 행을 엑셀 파일로. 옵션: columns, rows(filtered | all | selected), headers, sheetName, styles(컬럼 정렬과 cellClass 색상 반영, 기본 true). |
exportCsv(filename?, options?) / getCsv(options?) | void / string | 엑셀에서 한글이 깨지지 않도록 BOM을 붙인 CSV. 같은 옵션에 separator 추가. |
exportJson(filename?, options?) / getJson(options?) | void / string | 컬럼 id(keys: 'header'면 헤더)를 키로 한 행 객체 배열. formatted: true면 화면 글자 그대로 저장합니다. |
exportPdf(filename?, options?) / getPdf(options?) | void / Uint8Array | null | 인쇄 모양 그대로 브라우저에서 만든 PDF(모든 언어). repeatHeader, repeatRows, repeatTitle을 지원합니다. |
importFile(file, { mode?, sheet? }) | Promise<{ rows, skipped }> | .xlsx나 CSV를 읽어 헤더를 컬럼에 맞춥니다. 추가(기본) 또는 교체. |
toggleSideBar(open?, panel?) | void | 사이드바를 열고 닫습니다. 'columns'나 'filters' 패널을 지정할 수 있습니다. |
setPivot(config | null) / getPivot() | void / PivotConfig | null | 피벗을 켜거나 바꾸거나 일반 보기로 돌아갑니다. |
createChart({ type?, range?, container?, title? }) | { el, setType, update, destroy } | 범위나 전체 보기를 SVG 차트로: 'bar', 'stackedBar', 'line', 'area', 'pie'. |
version | string | 패키지 버전 상수. import { version }으로 가져옵니다. |
getDisplayedRowCount() | number | 필터 후 행 수. |
scrollToRow(index) | void | 해당 행으로 스크롤합니다. |
getScrollPosition() / setScrollPosition({ top?, left? }) | { top, left } | 행 영역의 스크롤 위치(px)를 읽거나 설정합니다. |
syncScroll(otherGrid, axis?) | () => void | 두 그리드를 함께 스크롤합니다('both', 'vertical', 'horizontal'). 연결을 끊는 함수를 돌려줍니다. |
validate() | { row, rowIndex, colId, message }[] | 편집 가능한 모든 셀을 required, unique, validate로 검사합니다. 모두 맞으면 빈 배열. |
getState() / setState(state, { parts? }) | SavedGridState | 화면 전체(컬럼, 정렬, 필터, 고급 필터, 그룹, 펼침, 컬럼 그룹, 페이지, 선택)를 JSON으로 저장하고 복원합니다. 사용자별 화면 설정에 씁니다. |
applyTransaction({ add?, addIndex?, update?, remove? }) / applyTransactionAsync(tx) | TransactionResult / void | id로 행을 추가·수정·삭제합니다(실시간 데이터). 실행 취소·변경 추적 대상이 아니고, 바뀐 셀은 깜빡입니다. Async는 50ms마다 모아서 한 번에 반영합니다. |
flushAsyncTransactions() | void | 대기 중인 applyTransactionAsync 변경을 지금 적용합니다. 트랜잭션에는 upsert(있으면 갱신, 없으면 추가)도 쓸 수 있습니다. |
setConditionalFormats(list) / getConditionalFormats() / openConditionalFormats(colId) | void / ConditionalFormat[] / void | 조건부 서식을 바꾸거나 읽고, 컬럼의 조건부 서식 창을 엽니다. |
askAssistant(prompt) / openAssistant() | Promise<AssistantResult> / void | AI 어시스턴트에 코드로 묻거나(결과에 message, applied, skipped, undo()) 대화 창을 엽니다. |
setAdvancedFilter(filter | null) / getAdvancedFilter() / openFilterBuilder() | void / AdvancedFilter | null / void | 여러 컬럼에 걸친 조건(AND/OR 중첩): { operator: 'or', conditions: [{ colId, model }, { operator: 'and', conditions: [...] }] }. |
cutSelection() | string | 범위를 복사한 뒤 편집 가능한 셀을 지웁니다(한 번에 실행 취소). Ctrl+X와 같습니다. |
stopRowEdit(cancel?) | void | editType 'row'에서 편집 중인 행을 마칩니다. |
setColumnGroupOpened(groupId, open) / isColumnGroupOpened(groupId) | void / boolean | 접히는 컬럼 그룹을 펼치거나 접습니다. |
print(options?) / getPrintHtml(options?) | void / string | 행을 표로 인쇄합니다(그룹·요약 행, 페이지 번호 포함). 옵션: 내보내기 옵션과 title, subtitle, footer, paper, orientation, fitToWidth, groups, summary, striped, pageNumbers, printedAt, rowNumbers. |
getXlsxSheet(options?) | XlsxSheet | 여러 시트 엑셀(buildWorkbook / exportWorkbook)에 쓰는 시트 하나. |
setDensity(density) / getDensity() | void / string | 'compact', 'normal', 'comfortable'. |
showOverlay(kind | null) | void | 'loading'이나 'noRows' 화면을 직접 띄웁니다. null이면 자동으로 돌아갑니다. |
restDatasource(url, options?) · loadData(grid, url, options?) · saveChanges(grid, url, options?) · csrfHeaders() | module functions | 서버 연동 함수(Spring Boot, 전자정부 등): POST JSON 데이터 소스, "조회→편집→저장" 화면, Spring Security CSRF 헤더. 서버 연동 절 참고. |
buildWorkbook(sheets) / exportWorkbook(filename, sheets) | module functions | 그리드마다 시트 하나씩 담은 엑셀 파일: [{ grid, sheetName, options }]. |
setTheme(name) | void | 테마를 바꿉니다. |
setFont({ size?, family? }) | void | 글꼴을 바꿉니다. family에 null을 주면 테마 기본 글꼴로 돌아갑니다. |
setLocale(codeOrPack) | void | UI 언어를 바꿉니다. |
on(event, handler) | () => void | 이벤트 구독. 해제 함수를 돌려줍니다. |
destroy() | void | 그리드와 이벤트 리스너를 제거합니다. |