Density
The same table at every tier, stacked, so the cost of the comfortable default is visible rather than argued. Every row height on this page is measured in your browser on load — nothing here is a hardcoded number.
What is being compared
the default is unchanged — R4 decision pendingbms-cloud's jqGrid renders 32px rows and its detail rail 34px rows — measured live on demo.bmserp.com, 16 Aug 2026 (AUDIT-FOUNDATIONS §4). A legacy grid page holds twenty of them. Every table below carries the same twenty rows and the same columns, so the only variable on this page is the CSS.
The cells hold plain text on purpose. A badge or a button inside a cell brings its own padding and would set the row height itself — you would be measuring the badge, not the tier.
This page changes no defaults.
.table is still the base tier and
.dl-row still the base rail row. Which tier a migrated
work queue ships with is the R4 decision, and it is not made here.
Comfortable — the current default
.table
| Invoice | Account | Date | 30 days | 60 days | 90+ days | Status |
|---|---|---|---|---|---|---|
| INV-24188 | Ashgrove Pumps | 07 Aug | 3,180.00 | 0.00 | 0.00 | Overdue |
| INV-24191 | Bellcast Rural | 07 Aug | 0.00 | 1,940.50 | 0.00 | Current |
| INV-24202 | Corinda Metals | 08 Aug | 12,405.75 | 0.00 | 0.00 | Overdue |
| INV-24210 | Darnley Freight | 08 Aug | 0.00 | 0.00 | 860.00 | Hold |
| INV-24215 | Eastvale Dairy | 09 Aug | 2,215.20 | 0.00 | 0.00 | Current |
| INV-24221 | Fenwick Joinery | 09 Aug | 0.00 | 7,330.00 | 0.00 | Overdue |
| INV-24228 | Glenroy Haulage | 10 Aug | 480.00 | 0.00 | 0.00 | Current |
| INV-24233 | Harlow Signage | 10 Aug | 0.00 | 0.00 | 5,120.40 | Hold |
| INV-24240 | Ingleside Motors | 11 Aug | 9,875.00 | 0.00 | 0.00 | Overdue |
| INV-24247 | Jarrah Timbers | 11 Aug | 0.00 | 1,204.65 | 0.00 | Current |
| INV-24251 | Kelvin Plastics | 12 Aug | 3,640.10 | 0.00 | 0.00 | Current |
| INV-24258 | Lockyer Produce | 12 Aug | 0.00 | 0.00 | 14,290.00 | Overdue |
| INV-24263 | Marlow Electrical | 13 Aug | 755.25 | 0.00 | 0.00 | Current |
| INV-24270 | Northgate Steel | 13 Aug | 0.00 | 22,118.90 | 0.00 | Overdue |
| INV-24276 | Oakden Interiors | 14 Aug | 1,090.00 | 0.00 | 0.00 | Hold |
| INV-24282 | Pinnacle Roofing | 14 Aug | 0.00 | 0.00 | 6,745.30 | Current |
| INV-24288 | Quarry Hill Sand | 15 Aug | 18,320.00 | 0.00 | 0.00 | Overdue |
| INV-24294 | Redbank Cabling | 15 Aug | 0.00 | 915.75 | 0.00 | Current |
| INV-24299 | Stanmore Glass | 16 Aug | 4,460.80 | 0.00 | 0.00 | Current |
| INV-24305 | Tarrant Logistics | 16 Aug | 0.00 | 0.00 | 2,038.15 | Hold |
Settings, summaries, anything not lived in. On a work queue this is the 1.3–1.4× row loss. Row box measures —; pitch including the separating border is the figure that decides how many rows fit.
Dense — compact supporting tables
.table.table-dense
| Invoice | Account | Date | 30 days | 60 days | 90+ days | Status |
|---|---|---|---|---|---|---|
| INV-24188 | Ashgrove Pumps | 07 Aug | 3,180.00 | 0.00 | 0.00 | Overdue |
| INV-24191 | Bellcast Rural | 07 Aug | 0.00 | 1,940.50 | 0.00 | Current |
| INV-24202 | Corinda Metals | 08 Aug | 12,405.75 | 0.00 | 0.00 | Overdue |
| INV-24210 | Darnley Freight | 08 Aug | 0.00 | 0.00 | 860.00 | Hold |
| INV-24215 | Eastvale Dairy | 09 Aug | 2,215.20 | 0.00 | 0.00 | Current |
| INV-24221 | Fenwick Joinery | 09 Aug | 0.00 | 7,330.00 | 0.00 | Overdue |
| INV-24228 | Glenroy Haulage | 10 Aug | 480.00 | 0.00 | 0.00 | Current |
| INV-24233 | Harlow Signage | 10 Aug | 0.00 | 0.00 | 5,120.40 | Hold |
| INV-24240 | Ingleside Motors | 11 Aug | 9,875.00 | 0.00 | 0.00 | Overdue |
| INV-24247 | Jarrah Timbers | 11 Aug | 0.00 | 1,204.65 | 0.00 | Current |
| INV-24251 | Kelvin Plastics | 12 Aug | 3,640.10 | 0.00 | 0.00 | Current |
| INV-24258 | Lockyer Produce | 12 Aug | 0.00 | 0.00 | 14,290.00 | Overdue |
| INV-24263 | Marlow Electrical | 13 Aug | 755.25 | 0.00 | 0.00 | Current |
| INV-24270 | Northgate Steel | 13 Aug | 0.00 | 22,118.90 | 0.00 | Overdue |
| INV-24276 | Oakden Interiors | 14 Aug | 1,090.00 | 0.00 | 0.00 | Hold |
| INV-24282 | Pinnacle Roofing | 14 Aug | 0.00 | 0.00 | 6,745.30 | Current |
| INV-24288 | Quarry Hill Sand | 15 Aug | 18,320.00 | 0.00 | 0.00 | Overdue |
| INV-24294 | Redbank Cabling | 15 Aug | 0.00 | 915.75 | 0.00 | Current |
| INV-24299 | Stanmore Glass | 16 Aug | 4,460.80 | 0.00 | 0.00 | Current |
| INV-24305 | Tarrant Logistics | 16 Aug | 0.00 | 0.00 | 2,038.15 | Hold |
Within ~16% of legacy parity. Good for a supporting table inside a card; still not parity. Row box measures —; pitch including the separating border is the figure that decides how many rows fit.
Data — legacy parity
.table.table-data
| Invoice | Account | Date | 30 days | 60 days | 90+ days | Status |
|---|---|---|---|---|---|---|
| INV-24188 | Ashgrove Pumps | 07 Aug | 3,180.00 | 0.00 | 0.00 | Overdue |
| INV-24191 | Bellcast Rural | 07 Aug | 0.00 | 1,940.50 | 0.00 | Current |
| INV-24202 | Corinda Metals | 08 Aug | 12,405.75 | 0.00 | 0.00 | Overdue |
| INV-24210 | Darnley Freight | 08 Aug | 0.00 | 0.00 | 860.00 | Hold |
| INV-24215 | Eastvale Dairy | 09 Aug | 2,215.20 | 0.00 | 0.00 | Current |
| INV-24221 | Fenwick Joinery | 09 Aug | 0.00 | 7,330.00 | 0.00 | Overdue |
| INV-24228 | Glenroy Haulage | 10 Aug | 480.00 | 0.00 | 0.00 | Current |
| INV-24233 | Harlow Signage | 10 Aug | 0.00 | 0.00 | 5,120.40 | Hold |
| INV-24240 | Ingleside Motors | 11 Aug | 9,875.00 | 0.00 | 0.00 | Overdue |
| INV-24247 | Jarrah Timbers | 11 Aug | 0.00 | 1,204.65 | 0.00 | Current |
| INV-24251 | Kelvin Plastics | 12 Aug | 3,640.10 | 0.00 | 0.00 | Current |
| INV-24258 | Lockyer Produce | 12 Aug | 0.00 | 0.00 | 14,290.00 | Overdue |
| INV-24263 | Marlow Electrical | 13 Aug | 755.25 | 0.00 | 0.00 | Current |
| INV-24270 | Northgate Steel | 13 Aug | 0.00 | 22,118.90 | 0.00 | Overdue |
| INV-24276 | Oakden Interiors | 14 Aug | 1,090.00 | 0.00 | 0.00 | Hold |
| INV-24282 | Pinnacle Roofing | 14 Aug | 0.00 | 0.00 | 6,745.30 | Current |
| INV-24288 | Quarry Hill Sand | 15 Aug | 18,320.00 | 0.00 | 0.00 | Overdue |
| INV-24294 | Redbank Cabling | 15 Aug | 0.00 | 915.75 | 0.00 | Current |
| INV-24299 | Stanmore Glass | 16 Aug | 4,460.80 | 0.00 | 0.00 | Current |
| INV-24305 | Tarrant Logistics | 16 Aug | 0.00 | 0.00 | 2,038.15 | Hold |
The jqGrid parity tier, with tabular-nums. Twenty rows here occupy what twenty legacy rows occupy. Row box measures —; pitch including the separating border is the figure that decides how many rows fit.
Object rails — .dl-row vs .dl-dense
The same ten fields, twice. Legacy's rail row measures 34px in a 350px-wide pane.
Comfortable
.dl
- Account
- Corinda Metals Pty Ltd
- Account code
- CORMET-04
- Terms
- 30 days from invoice
- Credit limit
- $45,000.00
- Balance
- $12,405.75
- Oldest item
- 07 Aug 2026
- Rep
- K. Naidoo
- Branch
- Brisbane North
- Last payment
- 28 Jul 2026
- Status
- On stop
Row box — · — fields per 720px
Dense — the object-rail tier
.dl.dl-dense
- Account
- Corinda Metals Pty Ltd
- Account code
- CORMET-04
- Terms
- 30 days from invoice
- Credit limit
- $45,000.00
- Balance
- $12,405.75
- Oldest item
- 07 Aug 2026
- Rep
- K. Naidoo
- Branch
- Brisbane North
- Last payment
- 28 Jul 2026
- Status
- On stop
Row box — · — fields per 720px
Combining a tier with .table-sticky
Sticky is orthogonal to density: it changes where the header sits, not how tall a row is, so
the parity tier still measures the same with it on. Two things matter when combining them —
the .table-wrap needs a max-height (it is already a
scroll container, that is the only thing it lacks), and the header background must stay
opaque or scrolled rows show through it.
Reach for it only when the table genuinely exceeds the viewport. The legacy grids these
replace page at twenty rows rather than scrolling, so a work queue following them usually
wants .table-data and pagination, not sticky.
.dl-dense has no sticky equivalent and needs none.
.table.table-data.table-sticky
row pitch measuring…
| Invoice | Account | Date | 30 days | 60 days | 90+ days | Status |
|---|---|---|---|---|---|---|
| INV-24188 | Ashgrove Pumps | 07 Aug | 3,180.00 | 0.00 | 0.00 | Overdue |
| INV-24191 | Bellcast Rural | 07 Aug | 0.00 | 1,940.50 | 0.00 | Current |
| INV-24202 | Corinda Metals | 08 Aug | 12,405.75 | 0.00 | 0.00 | Overdue |
| INV-24210 | Darnley Freight | 08 Aug | 0.00 | 0.00 | 860.00 | Hold |
| INV-24215 | Eastvale Dairy | 09 Aug | 2,215.20 | 0.00 | 0.00 | Current |
| INV-24221 | Fenwick Joinery | 09 Aug | 0.00 | 7,330.00 | 0.00 | Overdue |
| INV-24228 | Glenroy Haulage | 10 Aug | 480.00 | 0.00 | 0.00 | Current |
| INV-24233 | Harlow Signage | 10 Aug | 0.00 | 0.00 | 5,120.40 | Hold |
| INV-24240 | Ingleside Motors | 11 Aug | 9,875.00 | 0.00 | 0.00 | Overdue |
| INV-24247 | Jarrah Timbers | 11 Aug | 0.00 | 1,204.65 | 0.00 | Current |
| INV-24251 | Kelvin Plastics | 12 Aug | 3,640.10 | 0.00 | 0.00 | Current |
| INV-24258 | Lockyer Produce | 12 Aug | 0.00 | 0.00 | 14,290.00 | Overdue |
| INV-24263 | Marlow Electrical | 13 Aug | 755.25 | 0.00 | 0.00 | Current |
| INV-24270 | Northgate Steel | 13 Aug | 0.00 | 22,118.90 | 0.00 | Overdue |
| INV-24276 | Oakden Interiors | 14 Aug | 1,090.00 | 0.00 | 0.00 | Hold |
| INV-24282 | Pinnacle Roofing | 14 Aug | 0.00 | 0.00 | 6,745.30 | Current |
| INV-24288 | Quarry Hill Sand | 15 Aug | 18,320.00 | 0.00 | 0.00 | Overdue |
| INV-24294 | Redbank Cabling | 15 Aug | 0.00 | 915.75 | 0.00 | Current |
| INV-24299 | Stanmore Glass | 16 Aug | 4,460.80 | 0.00 | 0.00 | Current |
| INV-24305 | Tarrant Logistics | 16 Aug | 0.00 | 0.00 | 2,038.15 | Hold |
Scroll inside the table: the header holds and the rows pass under it, still at — per row box.