Posted 11 December 2024, 5:55 pm EST
We’ve been seeing a strange issue in the Wijimo flexgrid since we upgraded to 5.20241.19. We have a few fixed size columns and the last column is a star-sized column. Sometimes we see the horizontal scrollbar display in the grid even when there is enough space horizontally where scrolling isn’t needed. It isn’t possible to scroll with this bar as there is nothing to scroll to. We cannot set it to hidden because there are cases where users do need to scroll.
I was able to trace the problem to being triggered by the last star-sized column. Getting rid of it solves the problem, but we do need that in place. I get the sense that the sizing calculations that resize the star-sized column are so close to the exact grid width that the browser sometimes decides to show the scroll bar anyway.
Reproducing is tricky and strange, sometimes if we change something else in the DOM, it shows up or hides. Usually we see it show up and hide while scrolling. Just poking around in the chrome dev tools sometimes causes it to hide. This is why it feels like a precision issue or possibly related to browser sub-pixel handling.
Is there anything we can do to still have the star-sized column but give it a little extra horizontal space? Maybe always subtract a pixel from the calculated size? I tried adding paddings or margins but it seems the sizing calculations already take that into account. There is an event handler for when the star sized gets resized but it seems that gets triggered after the sizing is done which is too late.
Or any other ideas what we can try? I’ve been working on trying to create a more minimal way to reproduce than our full application. It is tricky due to unrelated DOM elements seeming to impact it.