Comments (8)
For v7:
const dimensions = apiRef.current.getRootDimensions()
const hasScroll = dimensions.columnsTotalWidth > dimensions.viewportOuterSize.width
Needs to run in an effect, after the dimensions have been calculated.
For v6, probably checking the .clientWidth
and .offsetWidth
of the virtual scroller element could work.
from mui-x.
@MartinTiangco I am almost 100% sure that we do not have a public API for this, however you could still do a manual calculation by targeting .MuiDataGrid-virtualScroller
, which is the element that restricts the view, and .MuiDataGrid-topContainer
, which will overflow that container. This seems rather hack though.
@romgrk you have worked on the scrolling recently ... do you have a better idea, or maybe a method readily available for this?
from mui-x.
@MartinTiangco would that be a sufficient solution for you?
from mui-x.
Hey thanks for the solutions. I used VirtualScroller
's scrollWidth
and offsetWidth
Just a followup: If grid resizing is a possibility, I attached these checks in the onResize
eventHandler of the grid. I wouldn't suppose there's a better alternative?
const [isGridOverflowing, setIsGridOverflowing] = useState(false);
<DataGrid
...
onResize={() => {
const { offsetWidth } = ref.current.querySelector(
'.MuiDataGrid-virtualScroller',
);
const { scrollWidth } = ref.current.querySelector(
'.MuiDataGrid-virtualScroller',
);
const isOverflow = scrollWidth > offsetWidth;
if (isOverflow === isGridOverflowing) {
// Do nothing as it is the same;
return;
}
setIsGridOverflowing(isOverflow);
}}
/>
from mui-x.
No, that solution seems good.
from mui-x.
ok cool, thanks for the help!
from mui-x.
Sure, let us know if you need anything else.
from mui-x.
If you have a similar problem, please open a new issue and provide details about your specific problem.
If you can provide additional information related to this topic that could help future readers, please feel free to leave a comment.
How did we do @MartinTiangco?
Your experience with our support team matters to us. If you have a moment, please share your thoughts through our brief survey.
from mui-x.
Related Issues (20)
- [Datagrid v7] Layout shifts when loading data with autoHeight=true HOT 1
- [charts] How to avoid component overflow when using composition HOT 5
- [DataGrid] Custom Scrollbar HOT 1
- [data grid] Quick Filter is not correctly applied to dynamically added columns HOT 2
- [TreeView] `RichTreeView` throws error when using dynamic items HOT 3
- Unable to use the the mui/x-chart after install HOT 1
- [data grid] Grid column header violates accessibility rule - Name, Role, Value (Level A) HOT 1
- [pickers] 5-4-5 Calendar (US Retail) HOT 2
- Search bar is loosing focus on when we use custom multiselect component with filter model HOT 1
- [pickers] DateCalendar broken, even on MUI website HOT 8
- [charts] Bar chart axis issues HOT 3
- [data grid] Is it possible to support copyValueParser in DataGrid? HOT 5
- Sorting in not working when we click on up arrow icon HOT 1
- [pickers] DateField behavior is impacted by the year format HOT 2
- [Charts] Support BarChart with scaleType: time HOT 3
- Charts legend rounded symbols HOT 3
- Closing the calendar fires both onOpen and onClose events. (MUI 5) HOT 5
- [charts] PieChart crashes on hover when changing data HOT 5
- Closed HOT 2
- [data grid] renderCell position offset in case of display:flex HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mui-x.