UI5 table best practices and authoritative development guidelines. Use when the user asks to "create a table", "add a table", "which table should I use", "implement sap.m.Table", "implement sap.ui.table", "GridTable", "ResponsiveTable", "TreeTable", "SmartTable", "MDC table", "sap.ui.mdc.Table", "sap.ui.comp.smarttable", "table not showing data", "table binding", "table selection", "drag and drop table", "table personalization", "copy paste table", "table export", "table sticky header", "table growing", "table pop-in", "table performance", "table accessibility", "table items binding", or is writing any UI5 freestyle application that includes a table control. Covers: control selection matrix, mandatory rules, common error patterns, and per-control API guidance for sap.m.Table, sap.ui.table.Table, sap.ui.table.TreeTable, sap.ui.comp.smarttable.SmartTable, and sap.ui.mdc.Table.
Keywords: sap.m.Table, sap.ui.table, GridTable, ResponsiveTable, TreeTable, SmartTable, sap.ui.mdc.Table, table binding, rows aggregati
Instalación
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
UI5 table best practices and authoritative development guidelines. Use when the user asks to "create a table", "add a table", "which table should I use", "implement sap.m.Table", "implement sap.ui.table", "GridTable", "ResponsiveTable", "TreeTable", "SmartTable", "MDC table", "sap.ui.mdc.Table", "sap.ui.comp.smarttable", "table not showing data", "table binding", "table selection", "drag and drop table", "table personalization", "copy paste table", "table export", "table sticky header", "table growing", "table pop-in", "table performance", "table accessibility", "table items binding", or is writing any UI5 freestyle application that includes a table control. Covers: control selection matrix, mandatory rules, common error patterns, and per-control API guidance for sap.m.Table, sap.ui.table.Table, sap.ui.table.TreeTable, sap.ui.comp.smarttable.SmartTable, and sap.ui.mdc.Table.
Keywords: sap.m.Table, sap.ui.table, GridTable, ResponsiveTable, TreeTable, SmartTable, sap.ui.mdc.Table, table binding, rows aggregation, items aggregation, rowMode, growing, sticky, personalization, drag and drop, DragDropInfo, p13n.Engine, OData V4, OData V2, cell templates, ariaLabelledBy
UI5 Table Best Practices
Apply these guidelines whenever generating, reviewing, or troubleshooting UI5 table code in freestyle applications.
UI5 version baseline: SAPUI5 1.136+ LTS. All features mentioned are available from this version unless noted.
When to load each reference
Trigger
Load
Working on or planning a sap.m.Table (ResponsiveTable)
OData V4 freestyle (when Fiori elements is ruled out), delegate pattern
JSON-only, simple apps, OData V2
Dataset size guide
Rows
Recommended table
Strategy
< 100
sap.m.Table
Simple binding, growing optional
100–1000
sap.ui.table.Table
Virtualization, threshold=100
1000+
sap.ui.table.Table
Virtualization, threshold=100–500, $count=true when needed
Common Errors
Symptom
Cause
Fix
No data displayed
Incorrect binding path or missing model
Verify bindRows/bindItems path and model attachment.
Rows not scrolling (sap.ui.table.*)
Count not requested
Set $count=true for OData when a total count is required.
Selection not working (sap.ui.table.*)
Plugin conflict
Do not call the table selection API when a selection plugin is applied; use the plugin API instead.
Text wrapping issues
Wrapping enabled in sap.ui.table.*
Use fixed-height content or switch to sap.m.Table.
Copy/paste not working
Plugin not attached or wrong namespace
Attach the correct plugin (see Drag & Drop section).
Personalization not persisting
Engine not configured
Verify sap.m.p13n.Engine registration.
CopyProvider error
extractData not defined
Implement extractData on the plugin.
Table not visible
Invalid container structure
Use a valid container (see Container Structures).
OData types on JSON model
Wrong type namespace
Match the type namespace to the model: sap.ui.model.type.* for JSON, sap.ui.model.odata.type.* for OData V2, sap.ui.model.odata.v4.type.* for OData V4.
Excel export fails silently
Library not loaded or invalid extractData
Detect the library, return a 2D array from extractData, ensure dataSource binding.
"No Data Available"
Model not set before binding
Set the model in Component.init() before router initialization.