Skip to content

Conversation

@mscolnick
Copy link
Contributor

@mscolnick mscolnick commented Jan 28, 2026

Closes #8029

When a table has more columns than max_columns (default 50), column
clamping would exclude the _marimo_row_id column from the data sent
to the frontend. Without this column, the frontend falls back to
positional indices for row identification, which breaks selection after
filtering — selecting a row returns data from the wrong row.

Fix

Always include _marimo_row_id in the selected columns when clamping,
so the frontend can use stable row IDs for correct selection regardless
of column count.

## Summary

When a table has more columns than `max_columns` (default 50), column
clamping would exclude the `_marimo_row_id` column from the data sent
to the frontend. Without this column, the frontend falls back to
positional indices for row identification, which breaks selection after
filtering — selecting a row returns data from the wrong row.

## Fix

Always include `_marimo_row_id` in the selected columns when clamping,
so the frontend can use stable row IDs for correct selection regardless
of column count.
@vercel
Copy link

vercel bot commented Jan 28, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
marimo-docs Ready Ready Preview, Comment Jan 28, 2026 6:37pm

Request Review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

mo.ui.table: Selection (table.value) is wrong if table has more than 50 columns and table is filtered interactively

2 participants