Skip to content

[data grid] grid freezes when isRowSelectable is used with a large number of rows #19001

@youngaryan

Description

@youngaryan

Steps to reproduce

Steps:
There are two live examples:

  1. Open Example 1 and click the “Select all” checkbox in the DataGrid header.
  • Result: Selection is instantaneous; the UI remains responsive.
  1. 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

Metadata

Metadata

Assignees

Labels

feature: SelectionRelated to the data grid Selection featurescope: data gridChanges related to the data grid.support: pro standardSupport request from a Pro standard plan user. https://mui.com/legal/technical-support-sla.type: bugIt doesn't behave as expected.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions