Giter Site home page Giter Site logo

Comments (8)

romgrk avatar romgrk commented on July 3, 2024 1

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.

michelengelen avatar michelengelen commented on July 3, 2024

@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.

michelengelen avatar michelengelen commented on July 3, 2024

@MartinTiangco would that be a sufficient solution for you?

from mui-x.

MartinTiangco avatar MartinTiangco commented on July 3, 2024

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.

romgrk avatar romgrk commented on July 3, 2024

No, that solution seems good.

from mui-x.

MartinTiangco avatar MartinTiangco commented on July 3, 2024

ok cool, thanks for the help!

from mui-x.

romgrk avatar romgrk commented on July 3, 2024

Sure, let us know if you need anything else.

from mui-x.

github-actions avatar github-actions commented on July 3, 2024

⚠️ This issue has been closed.
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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.