Frontmatter
| id | 9278 |
| title | Fix Grid Row Bottom Border and Remove Empty Scroll Row |
| state | Closed |
| labels | bugaigrid |
| assignees | tobiu |
| createdAt | Feb 24, 2026, 1:10 AM |
| updatedAt | Feb 24, 2026, 1:16 AM |
| githubUrl | https://github.com/neomjs/neo/issues/9278 |
| author | tobiu |
| commentsCount | 1 |
| parentIssue | null |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [] |
| closedAt | Feb 24, 2026, 1:16 AM |
Fix Grid Row Bottom Border and Remove Empty Scroll Row
tobiu assigned to @tobiu on Feb 24, 2026, 1:16 AM

tobiu
Feb 24, 2026, 1:16 AM
Input from Gemini 3.1 Pro:
✦ I have removed the faulty
:last-childCSS rule inBody.scssto restore the bottom border on data rows.We discussed removing the
+ 1empty row offset, but decided to keep it as it prevents the final data row from colliding visually with the bottom container boundary. Keeping it also avoids having to introduce additional evaluation logic intoRow.mjssimply to strip the bottom border off the very last data row.The changes have been pushed to the
devbranch.
tobiu closed this issue on Feb 24, 2026, 1:16 AM
Description The row pooling architecture means the last physical DOM row (
:last-child) no longer consistently matches the last logical row of the dataset. Therefore, the CSS rule hiding the bottom border for the:last-childrow causes missing borders on data rows.Additionally, the grid scroll height calculation currently includes a
+ 1row offset, resulting in an empty row at the bottom of the grid. Since removing the:last-childCSS fix ensures the final data row will always render its own bottom border, this extra scroll space is unnecessary and creates dead space.Proposed Changes
:last-childborder removal rule inresources/scss/src/grid/Body.scss.+ 1extra row calculation insrc/grid/Body.mjsandsrc/grid/VerticalScrollbar.mjs(updateScrollHeight).