-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Closed
Labels
feature: SelectionRelated to the data grid Selection featureRelated to the data grid Selection featurescope: data gridChanges related to the data grid.Changes related to the data grid.support: pro standardSupport request from a Pro standard plan user. https://mui.com/legal/technical-support-sla.Support request from a Pro standard plan user. https://mui.com/legal/technical-support-sla.type: bugIt doesn't behave as expected.It doesn't behave as expected.
Description
Steps to reproduce
Steps:
There are two live examples:
- Example 1 (no
isRowSelectable
): https://stackblitz.com/edit/q7x7x1ea?file=src%2FDemo.tsx - Example 2 (with
isRowSelectable
): https://stackblitz.com/edit/ddumkzun?file=src%2FDemo.tsx
- Open Example 1 and click the “Select all” checkbox in the DataGrid header.
- Result: Selection is instantaneous; the UI remains responsive.
- Open Example 2 and click the “Select all” checkbox in the DataGrid header.
- Result: The screen freezes and becomes unresponsive.
Notes:
- Both examples are based on the official MUI X Data Grid demo.
- The only change in Example 2 is adding
isRowSelectable={() => true}
to the DataGridPro component.
Current behavior
When selecting all rows in DataGridPro
with a large dataset (e.g., 1000+ rows) and using the isRowSelectable
prop, the screen freezes and becomes unresponsive.
Expected behavior
Selecting all rows should be more performant when the isRowSelectable
prop is provided, just as it is when no isRowSelectable
prop is used.
Context
We are using DataGridPro
with large datasets (1000+ rows) and need to control row selection dynamically using the isRowSelectable
prop. However, when users attempt to select all rows, the entire app freezes for 10+ seconds.
Your environment
npx @mui/envinfo
System:
OS: Linux 5.0 undefined
Binaries:
Node: 20.19.1 - /usr/local/bin/node
npm: 10.8.2 - /usr/local/bin/npm
pnpm: 8.15.6 - /usr/local/bin/pnpm
Browsers:
Chrome: Not Found
npmPackages:
@emotion/react: latest => 11.14.0
@emotion/styled: latest => 11.14.1
@mui/core-downloads-tracker: 7.2.0
@mui/icons-material: latest => 7.2.0
@mui/material: latest => 7.2.0
@mui/private-theming: 7.2.0
@mui/styled-engine: 7.2.0
@mui/system: 7.2.0
@mui/types: 7.4.4
@mui/utils: 7.2.0
@mui/x-data-grid: 8.9.2
@mui/x-data-grid-generator: latest => 8.9.2
@mui/x-data-grid-premium: 8.9.2
@mui/x-data-grid-pro: latest => 8.9.2
@mui/x-internals: 8.9.2
@mui/x-license: 8.9.2
@mui/x-telemetry: 8.5.3
@mui/x-virtualizer: 0.1.0
@types/react: latest => 19.1.9
react: latest => 19.1.1
react-dom: latest => 19.1.1
typescript: latest => 5.8.3
Search keywords: DataGridPro, isRowSelectable, performance, lag, freeze, large dataset, row selection
Order ID: 65425
BenGedi
Metadata
Metadata
Assignees
Labels
feature: SelectionRelated to the data grid Selection featureRelated to the data grid Selection featurescope: data gridChanges related to the data grid.Changes related to the data grid.support: pro standardSupport request from a Pro standard plan user. https://mui.com/legal/technical-support-sla.Support request from a Pro standard plan user. https://mui.com/legal/technical-support-sla.type: bugIt doesn't behave as expected.It doesn't behave as expected.