FreeGridv1.6.0English

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'.
versionstring패키지 버전 상수. 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 / voidid로 행을 추가·수정·삭제합니다(실시간 데이터). 실행 취소·변경 추적 대상이 아니고, 바뀐 셀은 깜빡입니다. Async는 50ms마다 모아서 한 번에 반영합니다.
flushAsyncTransactions()void대기 중인 applyTransactionAsync 변경을 지금 적용합니다. 트랜잭션에는 upsert(있으면 갱신, 없으면 추가)도 쓸 수 있습니다.
setConditionalFormats(list) / getConditionalFormats() / openConditionalFormats(colId)void / ConditionalFormat[] / void조건부 서식을 바꾸거나 읽고, 컬럼의 조건부 서식 창을 엽니다.
askAssistant(prompt) / openAssistant()Promise<AssistantResult> / voidAI 어시스턴트에 코드로 묻거나(결과에 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?)voideditType '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)voidUI 언어를 바꿉니다.
on(event, handler)() => void이벤트 구독. 해제 함수를 돌려줍니다.
destroy()void그리드와 이벤트 리스너를 제거합니다.