← Back to UI Components ← Back to Table of Contents

9.3 Dataverse Grid compatibility and reference index

This filename is retained because older documentation and source comments link to it. The maintained implementation guide is 9.1 Dataverse Grid System. Use this page as a compact lookup when reviewing older grid implementations.

Old terminology to current contract

Older documentation or code Current approach
One template renders the complete grid dv_grid lazy shell → dv_grid_contentdv_grid_table
Controller manually selects frame templates Prefer renderDataverseGridResponse() when the standard response shape fits
Load every association before processing Use resolveDataverseGridQueryContext() and column dependency metadata for expensive data
field ambiguously means SQL and display value Stable column key plus queryField, renderField, and optional filterQueryField
Client feature flags protect data Policy authorization and applyScope() protect data; flags only shape UI/processing
Full table reload after every modal save Prefer stable row replace/remove; fall back to the -table frame
Shared filter-option cache key TenantAwareCache::tenantScopedKey() in the grid_filter_options cache
Separate “saved-view grid” and “system-view grid” implementations One trait supports saved views, system views, and their coexistence

Do not copy examples that use gridColumns, modelClass, a one-level frame, or a template options array. The current required processing keys are gridKey, gridColumnsClass, baseQuery, tableName, and defaultSort; the shell takes gridKey, frameId, and dataUrl.

Quick source index

Column metadata lookup

The renderer and trait currently recognize these main groups:

Concrete *GridColumns.php classes are the best examples because specialized metadata evolves with the renderer.

Processing option lookup

Feature switches include showAllTab, canAddViews, canFilter, canExportCsv, showFilterPills, showViewTabs, and enableColumnPicker. Context and performance options include lockedFilters, disablePagination, metadataMode, system-view settings, and the bulk-selection options.

Read the parameter contract immediately above DataverseGridTrait::processDataverseGrid() before adding a new option. Document durable additions in 9.1, not by re-expanding this compatibility page.

Review checklist for a legacy grid