행 데이터 타입 / Row data type
공개 메서드를 런타임에 감싸 동작을 바꾸거나(.override), 정렬·포맷 같은 알고리즘 슬롯을 갈아 끼웁니다(.strategy). / Wrap a public method at runtime to change its behavior (.override), or swap an algorithm slot like sorting/formatting (.strategy).
트리거 등록.
여러 셀을 한꺼번에 쓸 때, 이 호출 이후의 writeCell 들이 즉시 다시 그리지 않도록 렌더를 잠시 미룹니다. / Start a batch — subsequent writeCell calls defer their render/change events instead of firing each time.
OptionalfitToGrid: boolean셀의 수식만 지웁니다(마지막 계산 값은 남습니다). / Remove the cell's formula (keeps the last computed value).
현재 범위 선택을 모두 해제합니다. / Clear the current range selection.
트리거 전체 또는 특정 이벤트 클리어
Optionalevent: string열려 있는 모든 상세 패널을 한 번에 접습니다. / Collapse every open detail panel at once.
열려 있는 상세 패널을 접습니다. / Collapse an open detail panel.
그리드 데이터로 차트를 만들어 인스턴스를 돌려줍니다. / Create a chart from grid data and return its instance.
이 그리드의 차트를 모두 정리(해제)합니다. / Dispose all charts on this grid.
Optionaldata: any배치를 끝내고, 그 사이 변경이 있었으면 단 한 번만 다시 그리고 변경 이벤트도 한 번만 냅니다. / End the batch — if anything changed, render once and emit one coalesced change event.
Optionalopen: boolean행을 펼쳐 상세 패널을 엽니다. rowRef 는 화면 순서 인덱스 또는 안정적 id. 허용 겹수를 넘으면 거부됩니다. / Expand a row's detail panel. rowRef is a screen-order index or a stable id; rejected past the nesting limit.
Optionaloptions: string | ExportOptionsOptionaloptions: string | ExportOptionsOptionaloptions: string | ExportOptionsOptionalfilename: string지금 활성인 범위 하나(없으면 null). 차트가 이 값을 읽어 씁니다. / The single active range (null if none). The chart reads this.
그 셀의 수식 오류 코드(오류가 없으면 null). / The cell's formula error code (null if none).
그 셀의 수식 원문(없으면 null). / The cell's formula text (null if none).
이 그리드에 붙어 있는 차트 인스턴스들. / The chart instances attached to this grid.
Optionalall: boolean디버깅용 — 이 셀을 참조하는(이 셀이 바뀌면 다시 계산되는) 셀들. / Debug — cells that reference this one (recomputed when it changes).
그 행의 상세 패널 내용물(직접 그린 결과 또는 자동 생성된 자식 그리드). 한 번도 펼치지 않았으면 undefined. / The row's detail content (your rendered result or the auto-created child grid); undefined if never expanded.
화면에 보이는 행 순서와 실제 데이터를 이어 주는 내부 모델을 돌려줍니다(고급 배선용). / Return the internal model mapping on-screen row order to actual data (for advanced wiring).
이 그리드에 지금 적용된 로케일 id. / The locale id currently applied to this grid.
현재 마스킹 활성 여부 반환 (true=마스킹 중)
override 로 감싼 메서드 이름들의 목록을 돌려줍니다. / Return the list of overridden method names.
디버깅용 — 이 셀의 수식이 참조하는(이 셀보다 먼저 계산돼야 하는) 셀들. / Debug — cells this one's formula references (computed before it).
현재 선택된 셀 범위들(없으면 빈 배열). 지금은 한 번에 하나까지 담깁니다. / Currently selected cell ranges (empty if none). At most one for now.
현재 활성 범위의 숫자 셀 통계(합·평균·최소·최대 등, 고정밀 계산). 숫자가 없으면 null. / High-precision stats (sum/avg/min/max …) over the active range's numeric cells; null if none.
현재 활성 범위 안 셀 값들을 행×열 2차원 배열로 돌려줍니다(차트가 소비). / Return the active range's cell values as a 2-D (rows×cols) array (consumed by the chart).
지금 적용된 스킨 id('default' = 기본 생김새). / The currently applied skin id ('default' = stock look).
Optionalall: boolean그 셀에 수식이 들어 있는지. / Whether that cell holds a formula.
그 메서드가 지금 override 로 감싸져 있는지 확인합니다. / Check whether that method is currently overridden.
그 행의 상세 패널이 지금 펼쳐져 있는지. / Whether that row's detail panel is currently expanded.
체크박스로 고른 행들을 다른 그리드로 옮깁니다(화살표 셔틀 버튼용). / Move the checkbox-selected rows into another grid (for the arrow-shuttle buttons).
지정한 행들을 다른 그리드로 옮깁니다(드래그·셔틀과 같은 경로). 옮기는 전·후·완료 3단계 이벤트가 나고 필드 매핑 규칙이 적용됩니다. / Move the given rows into another grid (same path as drag/shuttle). Fires the three-phase events and applies the field-mapping rule.
OptionaltargetIndex: numberOptionalhandler: Function채우기 기능 전용 — 어떤 셀의 수식을 dRow/dCol 만큼 이동한 자리에 맞게 참조를 옮긴 새 수식 원문을 돌려줍니다. / Fill-only — return a copy of a cell's formula with its relative refs shifted by dRow/dCol.
Optionalitems: ContextMenuItem[]Optionaloptions: PrintOptions모든 수식을 처음부터 다시 계산합니다(데이터 교체·컬럼 변경 후 등). / Recompute every formula from scratch (after replacing data, changing columns, …).
이 셀과, 이 셀에 딸린(종속) 셀들만 다시 계산합니다. / Recompute only this cell and the cells depending on it.
Optionalfield: stringOptionalwidth: numberOptionalheight: number이름을 지정한 메서드 하나를 원래 동작으로 되돌립니다. / Restore one named method to its original behavior.
걸어 둔 모든 override 와 strategy 를 한 번에 되돌립니다(그리드 파기 시 자동 호출). / Undo all overrides and strategies at once (called automatically on destroy).
컬럼·컨테이너 크기를 바꾼 뒤 열린 패널의 폭을 다시 맞춥니다(보통은 재렌더가 알아서 처리). / Re-sync open panel widths after a column/container resize (usually the re-render handles it).
셀에 수식을 넣습니다(예: "=A1+B2"). rowIndex 는 화면 순서로 주면 내부에서 안정적 참조로 바꿉니다. / Set a cell's formula (e.g. "=A1+B2"). Pass rowIndex in screen order; it's normalized to a stable ref inside.
조건부 서식 규칙을 지정합니다 — 값에 따라 셀에 데이터바·색조(히트맵)·아이콘셋을 입혀 강조합니다. 규칙이 걸린 컬럼의 통계(최소·최대 등)를 미리 계산해 두고 다시 그립니다. 빈 배열을 주면 조건부 서식을 모두 해제합니다. / Set conditional-format rules — highlight cells by value with data-bars, color scales (heatmaps), or icon sets. It precomputes the rule-bearing columns' stats (min/max …) and re-renders. Pass an empty array to clear all conditional formatting.
밀도(행 간격)를 바꿉니다 — 촘촘/보통/여유처럼 행 높이와 여백을 통째로 조절합니다. 색·스킨과 따로 노는 별개 축이며, 없는 이름을 줘도 오류를 내지 않습니다. / Switch the density (row spacing) — compact/normal/roomy row heights and paddings. An independent axis from color/skin; never throws on an unknown name.
UI 문구의 언어(로케일)를 바꾸고 화면을 다시 그립니다. 등록되지 않은 로케일을 줘도 오류를 내지 않습니다. / Switch the UI language (locale) and re-render. Never throws on an unregistered locale.
컬럼 마스킹 ON/OFF. enabled=true → 마스킹 적용, enabled=false → 전체 해제
이 그리드에서만 특정 문구 하나를 다른 말로 바꿉니다. / Override a single UI message for this grid only.
스킨(형태 축)을 바꿉니다 — 모서리·테두리·여백 같은 "생김새"만 갈아 끼우고, 색 테마는 그대로 둡니다. / Switch the skin (form axis) — swaps the "shape" (corners, borders, spacing …) only, leaving the color theme untouched.
형태 축의 CSS 변수 하나만 즉석에서 바꿉니다(setThemeVar 의 형태 버전). 색 값을 넣으면 거부됩니다. / Override a single form-axis CSS variable at runtime (the form-axis sibling of setThemeVar). Color values are rejected.
질감(배경 패턴)을 바꿉니다 — 배경 페인트만 입히고 크기 재계산은 하지 않습니다. 없는 이름을 줘도 오류를 내지 않습니다. / Switch the texture (background pattern) — paints the background only, no relayout. Never throws on an unknown name.
키에 해당하는 문구를 찾아 돌려줍니다(개별 오버라이드 → 활성 로케일 → 한국어 → 키 순). 오류를 내지 않습니다. / Resolve a message by key (per-message override → active locale → Korean → the key itself). Never throws.
Optionalparams: Record<string, string | number>OptionalkeyValue: boolean상세 패널을 펼쳐져 있으면 접고, 접혀 있으면 폅니다. / Toggle a detail panel open/closed.
여러 셀 쓰기를 한 번에 처리하는 간편 래퍼(beginBatch → 반복 쓰기 → endBatch). rowIndex 는 화면 표시 순서이며, 그룹·트리·상세 같은 실제 데이터가 아닌 가상 행은 안전하게 건너뜁니다. 반환값은 건너뛴 셀 수입니다. / A convenience wrapper that writes many cells at once (beginBatch → loop → endBatch). rowIndex is screen-order; non-data pseudo-rows (group/tree/detail) are safely skipped. Returns how many were skipped.
new OpenGrid(...)로 만든 그리드가 밖에 내어 주는 조작 창구(메서드 모음)입니다. 데이터 넣기·읽기, 행·컬럼 편집, 정렬·필터, 선택, 내보내기, 테마 전환 등 그리드에게 시킬 수 있는 모든 일이 여기 모여 있습니다. 각 메서드의 자세한 설명은 이 계약을 구현하는 OpenGrid 클래스 쪽에 있습니다. / The set of methods a grid built withnew OpenGrid(...)exposes — everything you can ask the grid to do: load/read data, edit rows & columns, sort/filter, select, export, switch themes, and more. Per-method detail lives on the OpenGrid class that implements this contract.