SYIDAX / DATA GRID
서버 측 행 모델 PRO
서버에서 그룹별 데이터를 조회하고 그룹의 펼침 상태에 맞춰 로드합니다.
서버 측 행 모델샘플 주문 데이터
120 rowsGrid를 불러오는 중입니다…
최근 결과
담당 팀 → 지역 → 주문처럼 사용자가 펼칠 순서를 정하고, 서버가 각 경로의 목록을 조회하도록 만드세요.
코드 보기
현재 미리보기
코드에 포함된 샘플 데이터 · 6행
사용 가이드
#팀별 주문처럼 그룹으로 묶인 대량 데이터를 탐색할 때 사용합니다. 그룹을 펼칠 때 그 그룹의 데이터만 서버에서 가져올 수 있습니다.
앱에서 연결하는 순서
- 그룹 경로 정하기
담당 팀 → 지역 → 주문처럼 사용자가 펼칠 순서를 정하고, 서버가 각 경로의 목록을 조회하도록 만드세요.
- 서버 데이터 공급자 연결
serverSideDatasource에 그룹 키와 정렬·필터 요청을 처리하는 코드를 연결합니다. 최상위 그룹 요청과 그룹 내부 요청을 구분하세요.
- 펼침과 새 조회 확인
앱에서 한 그룹을 펼친 후 네트워크 요청과 결과 행을 확인하세요. 필터를 바꿨을 때 그룹의 행 수와 내용도 같은 조건으로 갱신되어야 합니다.
확인할 결과
모든 그룹의 주문을 미리 받지 않아도 사용자가 펼친 부분을 차례로 탐색할 수 있습니다.
이 페이지의 로컬 표는 서버 그룹 조회를 실행하지 않습니다. 서버 응답 형식과 콜백 계약은 관련 API에서 확인해 앱에 연결하세요.
알아두면 쉬운 용어
- 그룹 키
- Platform, APAC처럼 어느 그룹 내부를 조회하는지 알려 주는 값입니다.
- serverSideDatasource
- 서버에서 그룹·행 데이터를 공급하는 연결 객체입니다.
제품에 이 기능을 적용하려면 Pro 런타임과 유효한 라이선스가 필요합니다.
API reference
#나머지 속성3
| Attribute / Property | 타입 / 기본값 | 설명 |
|---|---|---|
PRO serverSideDatasource | ServerSideDatasource<GridRow>기본값 undefined | server-side (SSRM) row model. When set, the server groups + paginates the data and the grid fetches one level at a time (`serverSideGroupCols` = the group columns, in order; empty = a flat server-side list). Reuses `cacheBlockSize` / `maxBlocksInCache` per node. |
PRO serverSideGroupCols | string[]기본값 undefined | the columns the server groups by, in order (empty = flat). |
PRO serverSideTransactionWaitMs | number기본값 undefined | wait window (ms) for `applyServerSideTransactionAsync` batching (the AG `asyncTransactionWaitMillis` shape under our naming). Read when the async queue is FIRST built; defaults to 50. |
이벤트1
| 이벤트 | detail 타입 | 설명 |
|---|---|---|
PRO | SyGridServerStoreUpdatedDetail | the `storeUpdated` event at the element boundary. |
메서드13
| 메서드 / 인수 | 반환 타입 | 설명 |
|---|---|---|
PRO | Promise<SyGridServerSelectionState> | PG-SEL-WIRING-01 — the server-side selection state: one predicate (`selectAll`) plus the exception ids, grid-wide, held without materialising a single row. Under a row-grouped topology the grid runs the hierarchical model instead and this answers `model-mismatch` naming `getServerGroupSelectionState`. |
PRO | Promise<SyGridServerSelectionState> | PG-SEL-WIRING-01 — the hierarchical tri-state selection under a row-grouped SSRM topology. |
PRO input: unknown | Promise<SyGridServerSelectionSetResult> | PG-SEL-WIRING-01 — replace the flat server selection state (`{ selectAll, toggledRowIds }`), typed refusals kept. |
PRO input: unknown | Promise<SyGridServerSelectionSetResult> | PG-SEL-WIRING-01 — replace the hierarchical selection state (`{ selectAllChildren, toggledNodes }`). |
PRO action?: 'select' | 'clear' | Promise<SyGridServerSelectAllResult> | PG-SEL-WIRING-01 — select (default) or clear the WHOLE grid, unloaded rows included, in O(1). |
PRO groupKeys: ReadonlyArray<string>, action?: 'select' | 'deselect' | Promise<SyGridServerGroupChildrenResult> | PG-SEL-WIRING-01 — select or deselect ONE group subtree by its group-key path (group model). |
PRO input?: SyGridServerRefreshInput | Promise<SyGridServerRefreshResult> | route-scoped SSRM refresh ` shape under our naming). |
PRO transaction: SyGridServerTransactionInput | Promise<SyGridServerTransactionResult> | synchronous route-addressed server-side transaction . Order inside one transaction is pinned update → remove → add; `addIndex` addresses the post-remove sequence. |
PRO transaction: SyGridServerTransactionInput, onSettle?: (settlement: SyGridServerTransactionSettlement) => void | Promise<SyGridServerTransactionEnqueue> | enqueue a server-side transaction into the async queue (the AG `applyServerSideTransactionAsync` shape under our naming). One wait window (`serverSideTransactionWaitMs`, default 50 ms) batches enqueues FIFO into one apply pass and ONE state commit; `onSettle` receives exactly one settlement, ever. State is read at FLUSH time , so a transaction enqueued before a refresh applies to the post-refresh store — or settles as a typed `store-loading` refusal. |
PRO | Promise<SyGridServerFlushReport> | apply the pending async batch NOW (the AG `flushServerSideAsyncTransactions` shape). `empty` when nothing is pending — including when the queue was never built, which is why this method never loads the chunk to say so. |
PRO | Promise<SyGridServerStateReport | null> | the readonly snapshot over every live store: route/type/status/counts and per-block cache state, deep-frozen, plus the cross-tree diagnostics (`nodesWithoutStore` — the PG-SSRM-ORPHAN-01 class made visible) and the facade's landing-guard counter. |
PRO | Promise<SyGridServerPivotColumnsReport | null> | the identity model over the pivot result metadata the store retains (root-store-only publishing). Identity is the server's own naming under its group path, encoded by the one codec — the same label under two parents is two identities , and a duplicate colId refuses the whole model with the ids named. |
PRO colIds: ReadonlyArray<string> | Promise<SyGridServerPivotColumnAudit | null> | the PG-PIVOT-CONSUMER-01 usage gate: for the column ids a consumer is about to chart/export/restore against, answer `live` / `live-stale` / `unknown-column` from the CURRENT model, so after a metadata refresh no gated consumer uses a vanished column silently. `clean` is `true` iff every asked id resolved. `null` = SSRM is not active on this grid. |
EXPLORE CAPABILITIES
기능별로 자세히 살펴보기
기능별 사용 상황과 설정 방법을 살펴보세요. 직접 체험하는 예제와 앱에서 연결하는 기능을 각 가이드에 안내합니다.