Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
@mui/x-data-grid-pro
Advanced tools
The Pro plan edition of the Data Grid components (MUI X).
@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.10
Jan 30, 2025
We'd like to offer a big thanks to the 10 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: @k-rajat19, @lauri865, @mateuseap. Following are all team members who have contributed to this release: @alexfauquette, @flaviendelangle, @JCQuintas, @KenanYusuf, @MBilalShafi, @romgrk, @arminmeh.
<!--/ HIGHLIGHT_ABOVE_SEPARATOR /-->viewportInnerSize.width
now includes pinned columns' widths (fixes recursive loops in updating dimensions <-> columns)
The Data Grid now has a default background color, and its customization has moved from theme.mixins.MuiDataGrid
to theme.palette.DataGrid
with the following properties:
bg
: Sets the background color of the entire grid (new property)headerBg
: Sets the background color of the header (previously named containerBackground
)pinnedBg
: Sets the background color of pinned rows and columns (previously named pinnedBackground
) const theme = createTheme({
- mixins: {
- MuiDataGrid: {
- containerBackground: '#f8fafc',
- pinnedBackground: '#f1f5f9',
- },
- },
+ palette: {
+ DataGrid: {
+ bg: '#f8fafc',
+ headerBg: '#e2e8f0',
+ pinnedBg: '#f1f5f9',
+ },
+ },
});
The detailPanels
, pinnedColumns
, and pinnedRowsRenderZone
classes have been removed.
Return type of the useGridApiRef()
hook and the type of apiRef
prop are updated to explicitly include the possibilty of null
. In addition to this, useGridApiRef()
returns a reference that is initialized with null
instead of {}
.
Only the initial value and the type are updated. Logic that initializes the API and its availability remained the same, which means that if you could access API in a particular line of your code before, you are able to access it as well after this change.
Depending on the context in which the API is being used, you can decide what is the best way to deal with null
value. Some options are:
apiRef
is not null
apiRef
is null
apiRef
is null
@mui/x-data-grid@8.0.0-alpha.10
renderContext
calculation with scroll bounce / over-scroll (#16297) @lauri865gridClasses
(#16256) @mateuseapnull
in the return type of the useGridApiRef()
hook (#16353) @arminmehonClick
prop on toolbar buttons (#16356) @KenanYusuficonContainer
during autosizing (#16399) @michelengelen@mui/x-data-grid-pro@8.0.0-alpha.10
Same changes as in @mui/x-data-grid@8.0.0-alpha.10
, plus:
useGridApiRef
for Pro and Premium packages on React < 19 (#16328) @arminmeh@mui/x-data-grid-premium@8.0.0-alpha.10
Same changes as in @mui/x-data-grid-pro@8.0.0-alpha.10
.
field
slot no longer receives the ref
, disabled
, className
, sx
, label
, name
, formatDensity
, enableAccessibleFieldDOMStructure
, selectedSections
, onSelectedSectionsChange
and inputRef
props — Learn moreMuiPickersPopper
theme entry have been renamed MuiPickerPopper
and some of its props have been removed — Learn more@mui/x-date-pickers@8.0.0-alpha.10
<PickersPopper />
(#16319) @flaviendelanglePickerContextValue
properties (#16327) @flaviendelangle@mui/x-date-pickers-pro@8.0.0-alpha.10
Same changes as in @mui/x-date-pickers@8.0.0-alpha.10
.
legend.position.horizontal
from "left" | "middle" | "right"
to "start" | "center" | "end"
.
This is to align with the CSS values and reflect the RTL ability of the legend component.blueberryTwilightPalette
from @mui/x-charts/colorPalettes
and set it on the colors
property of charts.id
property is now optional on the Pie
and Scatter
data types.@mui/x-charts@8.0.0-alpha.10
bumpX
and bumpY
curve options (#16318) @JCQuintastooltipGetter
to seriesConfig
(#16331) @JCQuintaslegend.position.horizontal
from "left" | "middle" | "right"
to "start" | "center" | "end"
(#16315) @JCQuintasid
optional on PieValueType
and ScatterValueType
(#16389) @JCQuintas@mui/x-charts-pro@8.0.0-alpha.10
Same changes as in @mui/x-charts@8.0.0-alpha.10
.
@mui/x-tree-view@8.0.0-alpha.10
Internal changes.
@mui/x-tree-view-pro@8.0.0-alpha.10
Same changes as in @mui/x-tree-view@8.0.0-alpha.10
.
FAQs
The Pro plan edition of the Data Grid components (MUI X).
The npm package @mui/x-data-grid-pro receives a total of 207,318 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 14 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
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.