# GeeGrid API 레퍼런스

언어: [한국어](./index.ko.md) | [English](./index.en.md)  
전체 AI 문서: [한국어](/ai-ko.txt) | [English](/ai-en.txt)

이 문서는 GeeGrid v3 실제 사용 소스에서 확인된 공개 API를 정리합니다. 확인되지 않은 메서드나 내부 동작을 만들지 않습니다.

## 생성자

| 생성자 | 용도 |
| --- | --- |
| new GeeGrid(id) | geegrid 초기화 |
| new GeeSearch(id) | 확인된 item 기반 검색 폼 초기화 |
| new GeeObject(id) | 일반 폼과 UI 객체 초기화 |

DOM 루트가 생성된 뒤 호출합니다.

## 데이터 API

~~~js
grid.setObjectData([{ id: 1, name: '홍길동' }]);
grid.setArrayData(['id', 'name'], [[1, '홍길동']]);
grid.setJsonData([{ id: 1, name: '홍길동' }]);

var rows = grid.getData();
var value = grid.getValue(0, 'name');
grid.setValue(0, 'name', '김철수');
~~~

객체 행은 setObjectData, 배열 행은 fieldNames와 함께 setArrayData, JSON 레코드는 setJsonData를 사용합니다.

## 페이징 API

- makePageParams()
- setTotalCount(count)
- setCurrentPage(page)
- setViewLength(rows)
- makePaging()

~~~js
grid.setTotalCount(Number(ret.count || 0));
grid.setCurrentPage(Number(ret.page || 1));
grid.setViewLength(Number(ret.rows || 20));
grid.setObjectData(Array.isArray(ret.records) ? ret.records : []);
grid.makePaging();
~~~

순서를 변경하지 않습니다. makePageParams에서 확인된 필드는 page, pageSize, startIDX, endIDX, orderColumn, orderMethod입니다.

## 이벤트 API

~~~js
GeeGrid.on('load_users', function () {});
GeeGrid.on('sort_users', function () {
  GeeGrid.invoke('load_users', {});
});
~~~

handler, sort_handler, renderer, onclick, ondblclick, onchange, click에는 실행식이 아니라 등록 이름만 작성합니다.

## 주요 옵션

geegrid 옵션:

id, width, height, pageable, rows, page, numbering, number_width, check_column, handler, sort_handler, fixCol, leftWidth, rightWidth, rowHeight, show_totalcount, dynamic_scroll, dynamic_load, dynamicthreshold, dynamichandler, status, debug, formName, key, value.

column 옵션:

id, dataid, type, title, width, align, class, style, resize, sortable, orderBy, orderby, merge, mergekey, renderer, onclick, ondblclick, onchange, data, jsondata, keytext, keyvalue, textEvent, textHandler, editMask, textColor, textCursor, readonly, disabled, cols, rows, flow, drag, text, value.

dynamic_scroll과 dynamic_load는 함께 사용하지 않습니다. API URL, 인증 헤더, 응답 필드, SQL, Runtime 내부 구현을 추측하지 않습니다.

