RDL Editor - Tables (Tablix)
BC document layouts are built from tablix controls — the line table, the totals block, VAT summaries, address areas. This is where most editing happens, and where most things historically broke. The editor's structural operations are span- and group-aware, so the classic corruptions (broken hierarchies, scrambled merged cells) can't happen.
Selecting in a table
- Click the table once → Excel-style headers appear: column letters above, row numbers left.
- Click a column letter / row number to select that column/row.
- Click a cell to select it; double-click to edit its text inline.
Rows and columns
With a column/row header selected (or from any cell's quick actions):
- Insert before / after (columns), Insert above / below (rows)
- Delete — also on the Delete key. Deletion is reference-checked: if a cell inside contains a textbox that a page-header expression depends on, you get a warning with a Hide instead option (chapter 7).
Inserting at a group boundary
Rows inside a group repeat with every instance; rows outside appear once. When you insert a row exactly on a group boundary, the editor asks which scope it should join — "Inside group X — with the row below" vs "Outside groups — with the row above." This is Report Builder's Inside/Outside Group choice, surfaced only when it actually matters.
Merged cells
Select a cell:
- Merge right → / Merge down ↓ — extends the cell over its neighbour (the neighbour's content is discarded; spans must be compatible).
- Split merged cell — restores 1×1 cells with fresh empty textboxes.
Span bookkeeping is automatic everywhere else too: inserting a column through a merged region widens the merge; deleting a merged column shrinks it; deleting a row whose cell spans downward hands the content to the next row.
Row / column visibility
Select a row or column header → the Visibility section edits the owning hierarchy member:
- Hidden —
true,false, or an expression like=Fields!ShowDiscount.Value = False - Toggle item — a textbox name, giving the +/− drilldown control in interactive preview
If the row/column belongs to a group, the pane says so — visibility then applies to the whole group instance.
Table-level properties
With the table selected: DataSet (a dropdown of the report's datasets; blank = inherit scope, for nested tables) and No-rows message (text shown when the dataset returns nothing).
Groups, sort, filters
Select the table itself → Row Hierarchy / Column Hierarchy show the grouping tree (the engine that makes the table repeat data). Click a member to edit it:
- Static ↔ Group conversion; group name and group expressions (
=Fields!Customer_No.Value) - Group filters and sort expressions (per member or table-wide)
- Visibility with Toggle item (drilldown)
- Layout flags: Keep Together, Repeat on New Page (repeating column headers), Keep With Group, Hide if No Rows, Fixed Data
For repeated column headings, prefer the tablix's own header row + Repeat on New Page over rebuilding captions in the page header.
Pagination
- Table level (table selected → Pagination): page break Start / End / StartAndEnd, plus Keep together on one page.
- Group level (member → Group Pagination): the same plus Between — the classic "one page per document / per customer."
The editor warns about the trap from the field guides: a page break at the end of the last group instance produces a trailing blank page — Between or Start is usually what you want. Use Keep Together sparingly; it prevents awkward splits but can push whole sections to the next page, leaving blank space behind.
Sizing
- Column widths / row heights: edit in the table pane lists (
1.5cmswitches unit,1,5works) or in the column/row panes. - The table's footprint is always the sum of its columns/rows. The moment a structure edit pushes the table past the printable width, the editor warns you — "just add one more column" is the #1 cause of every-other-page-blank PDFs. Narrow other columns when you add one.