SYIDAX / DATA GRID

서버 측 행 모델 PRO

서버에서 그룹별 데이터를 조회하고 그룹의 펼침 상태에 맞춰 로드합니다.

시작하기
서버 측 행 모델샘플 주문 데이터
120 rows
Grid를 불러오는 중입니다…
최근 결과

담당 팀 → 지역 → 주문처럼 사용자가 펼칠 순서를 정하고, 서버가 각 경로의 목록을 조회하도록 만드세요.

코드 보기
현재 미리보기

사용 가이드

#

팀별 주문처럼 그룹으로 묶인 대량 데이터를 탐색할 때 사용합니다. 그룹을 펼칠 때 그 그룹의 데이터만 서버에서 가져올 수 있습니다.

앱에서 연결하는 순서

  1. 그룹 경로 정하기

    담당 팀 → 지역 → 주문처럼 사용자가 펼칠 순서를 정하고, 서버가 각 경로의 목록을 조회하도록 만드세요.

  2. 서버 데이터 공급자 연결

    serverSideDatasource에 그룹 키와 정렬·필터 요청을 처리하는 코드를 연결합니다. 최상위 그룹 요청과 그룹 내부 요청을 구분하세요.

  3. 펼침과 새 조회 확인

    앱에서 한 그룹을 펼친 후 네트워크 요청과 결과 행을 확인하세요. 필터를 바꿨을 때 그룹의 행 수와 내용도 같은 조건으로 갱신되어야 합니다.

확인할 결과

모든 그룹의 주문을 미리 받지 않아도 사용자가 펼친 부분을 차례로 탐색할 수 있습니다.

이 페이지의 로컬 표는 서버 그룹 조회를 실행하지 않습니다. 서버 응답 형식과 콜백 계약은 관련 API에서 확인해 앱에 연결하세요.

알아두면 쉬운 용어

그룹 키
Platform, APAC처럼 어느 그룹 내부를 조회하는지 알려 주는 값입니다.
serverSideDatasource
서버에서 그룹·행 데이터를 공급하는 연결 객체입니다.

제품에 이 기능을 적용하려면 Pro 런타임과 유효한 라이선스가 필요합니다.

API reference

#

나머지 속성3
Attribute / Property타입 / 기본값설명
PRO
serverSideDatasource
ServerSideDatasource<GridRow>기본값 undefinedserver-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[]기본값 undefinedthe columns the server groups by, in order (empty = flat).
PRO
serverSideTransactionWaitMs
number기본값 undefinedwait 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
SyGridServerStoreUpdatedDetailthe `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.