
Security News
Rspack Introduces Rslint, a TypeScript-First Linter Written in Go
Rspack launches Rslint, a fast TypeScript-first linter built on typescript-go, joining in on the trend of toolchains creating their own linters.
@mui/x-data-grid-pro
Advanced tools
@mui/x-data-grid-pro is a premium data grid component for React applications, part of the Material-UI (MUI) library. It provides advanced features for handling large datasets, complex data operations, and enhanced user interactions.
Pagination
This feature allows you to paginate through large sets of data, improving performance and user experience by loading only a subset of data at a time.
```jsx
import * as React from 'react';
import { DataGridPro } from '@mui/x-data-grid-pro';
const rows = [
{ id: 1, col1: 'Hello', col2: 'World' },
{ id: 2, col1: 'DataGridPro', col2: 'is Awesome' },
{ id: 3, col1: 'Material-UI', col2: 'rocks' },
];
const columns = [
{ field: 'col1', headerName: 'Column 1', width: 150 },
{ field: 'col2', headerName: 'Column 2', width: 150 },
];
export default function App() {
return (
<div style={{ height: 400, width: '100%' }}>
<DataGridPro rows={rows} columns={columns} pageSize={5} pagination />
</div>
);
}
```
Sorting
This feature allows users to sort data by clicking on column headers, providing an intuitive way to organize and view data.
```jsx
import * as React from 'react';
import { DataGridPro } from '@mui/x-data-grid-pro';
const rows = [
{ id: 1, col1: 'Hello', col2: 'World' },
{ id: 2, col1: 'DataGridPro', col2: 'is Awesome' },
{ id: 3, col1: 'Material-UI', col2: 'rocks' },
];
const columns = [
{ field: 'col1', headerName: 'Column 1', width: 150 },
{ field: 'col2', headerName: 'Column 2', width: 150 },
];
export default function App() {
return (
<div style={{ height: 400, width: '100%' }}>
<DataGridPro rows={rows} columns={columns} sortingOrder={['asc', 'desc']} />
</div>
);
}
```
Filtering
This feature allows users to filter data based on specific criteria, making it easier to find relevant information within large datasets.
```jsx
import * as React from 'react';
import { DataGridPro } from '@mui/x-data-grid-pro';
const rows = [
{ id: 1, col1: 'Hello', col2: 'World' },
{ id: 2, col1: 'DataGridPro', col2: 'is Awesome' },
{ id: 3, col1: 'Material-UI', col2: 'rocks' },
];
const columns = [
{ field: 'col1', headerName: 'Column 1', width: 150 },
{ field: 'col2', headerName: 'Column 2', width: 150 },
];
export default function App() {
return (
<div style={{ height: 400, width: '100%' }}>
<DataGridPro rows={rows} columns={columns} filterModel={{ items: [{ columnField: 'col1', operatorValue: 'contains', value: 'Hello' }] }} />
</div>
);
}
```
Row Grouping
This feature allows users to group rows based on specific columns, providing a hierarchical view of the data.
```jsx
import * as React from 'react';
import { DataGridPro } from '@mui/x-data-grid-pro';
const rows = [
{ id: 1, col1: 'Hello', col2: 'World', group: 'A' },
{ id: 2, col1: 'DataGridPro', col2: 'is Awesome', group: 'B' },
{ id: 3, col1: 'Material-UI', col2: 'rocks', group: 'A' },
];
const columns = [
{ field: 'col1', headerName: 'Column 1', width: 150 },
{ field: 'col2', headerName: 'Column 2', width: 150 },
];
export default function App() {
return (
<div style={{ height: 400, width: '100%' }}>
<DataGridPro rows={rows} columns={columns} getRowId={(row) => row.id} groupBy={['group']} />
</div>
);
}
```
ag-Grid is a fully-featured and highly customizable JavaScript data grid. It offers a wide range of features including sorting, filtering, pagination, and row grouping. Compared to @mui/x-data-grid-pro, ag-Grid is known for its performance and flexibility, but it may require more configuration.
react-table is a lightweight, fast, and extendable data grid built for React. It focuses on providing a simple API for building powerful tables. While it offers many of the same features as @mui/x-data-grid-pro, such as sorting and filtering, it is more of a toolkit that requires additional setup for advanced features.
Handsontable is a JavaScript/HTML5 data grid component with Excel-like features. It is highly customizable and supports features like sorting, filtering, and pagination. Compared to @mui/x-data-grid-pro, Handsontable offers a more spreadsheet-like experience but may have a steeper learning curve.
This package is the Pro plan edition of the Data Grid component. It's part of MUI X, an open-core extension of our Core libraries, with advanced components.
Install the package in your project directory with:
npm install @mui/x-data-grid-pro
This component has the following peer dependencies that you need to install as well.
"peerDependencies": {
"@mui/material": "^5.15.14 || ^6.0.0",
"react": "^17.0.0 || ^18.0.0 || ^19.0.0",
"react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0"
},
Visit https://mui.com/x/react-data-grid/ to view the full documentation.
8.0.0-alpha.5
Dec 19, 2024
We'd like to offer a big thanks to the 9 contributors who made this release possible. Here are some highlights ✨:
Special thanks go out to the community contributors who have helped make this release possible: @good-jinu, @k-rajat19. Following are all team members who have contributed to this release: @alexfauquette, @cherniavskii, @flaviendelangle, @KenanYusuf, @LukasTy, @MBilalShafi, @romgrk.
<!--/ HIGHLIGHT_ABOVE_SEPARATOR /-->Passing additional props (like data-*
, aria-*
) directly on the Data Grid component is no longer supported. To pass the props, use slotProps
:
.root
element, use slotProps.root
..main
element (the one with role="grid"
), use slotProps.main
.detailPanelExpandedRowIds
and onDetailPanelExpandedRowIdsChange
props use a Set
instead of an array:
-detailPanelExpandedRowIds?: GridRowId[];
+detailPanelExpandedRowIds?: Set<GridRowId>;
-onDetailPanelExpandedRowIdsChange?: (ids: GridRowId[], details: GridCallbackDetails) => void;
+onDetailPanelExpandedRowIdsChange?: (ids: Set<GridRowId>, details: GridCallbackDetails) => void;
apiRef.current.getExpandedDetailPanels
and apiRef.current.setExpandedDetailPanels
methods receive and return a Set
instead of an array.
gridDetailPanelExpandedRowIdsSelector
returns a Set
instead of an array.
gridDetailPanelExpandedRowsHeightCacheSelector
was removed.
FAQs
The Pro plan edition of the MUI X Data Grid components.
The npm package @mui/x-data-grid-pro receives a total of 670,796 weekly downloads. As such, @mui/x-data-grid-pro popularity was classified as popular.
We found that @mui/x-data-grid-pro demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 15 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Rspack launches Rslint, a fast TypeScript-first linter built on typescript-go, joining in on the trend of toolchains creating their own linters.
Security News
Hacker Demonstrates How Easy It Is To Steal Data From Popular Password Managers
Security News
Oxlint’s new preview brings type-aware linting powered by typescript-go, combining advanced TypeScript rules with native-speed performance.