bcquality/microsoft/knowledge/ui/grid-data-table-heuristic.md
Jesper Schulz-Wedde 2b5550c346
Some checks failed
Validate knowledge index / validate-index (push) Has been cancelled
Validate AL review fixtures / validate-review-fixtures (push) Has been cancelled
Validate frontmatter and structure / validate (push) Has been cancelled
Improve partner onboarding and documentation navigation (#174)
Lead with a complete plugin quick start and add task-oriented usage, troubleshooting, customization, and contribution guides. Preserve the broader plugin framing, correct conflicting contract guidance, support Agents folder reviews, and align repository validation. Convert existing sample references to clickable links without changing knowledge rules.

Co-authored-by: Jesper Schulz-Wedde <jesper.schulzwedde@microsoft.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
2026-09-09 17:31:03 +02:00

1.5 KiB

bc-version domain keywords technologies countries application-area
all
ui
grid
fixed
data-table
heuristic
show-caption
accessibility
al
w1
all

Grid and fixed-layout data-table heuristic

Description

Business Central renders grid() and fixed() layouts in two modes. The mode is chosen automatically by a client heuristic. A grid renders as a data table (HTML <table> with row/column semantics) only when all of the following are true:

  • All direct children of the grid/fixed are groups (no loose fields).
  • Every child of every group is a field (no nested groups or other controls).
  • All fields have ShowCaption = false.

The heuristic checks field captions only — group ShowCaption is not part of the check. A group with a visible caption inside a data-table grid does not break the heuristic and is not a violation. However, groups in a data table should also have ShowCaption = false for correct visual presentation.

Any grid or fixed layout that does not meet all three conditions renders as a layout table (visual column arrangement, no table semantics).

Best Practice

If you intend a grid or fixed layout to render as a data table, satisfy all three conditions and verify the resulting markup matches your intent. If you do not need tabular semantics, prefer simple groups over grid or fixed layouts — they reflow better and produce correct semantic markup automatically.

See sample: grid-data-table-heuristic.good.al.