-
Notifications
You must be signed in to change notification settings - Fork 62
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[DataTable] Horizontal scrolling problem in DataTable #645
Comments
Thanks for the report and discussion on Discord about this. I took a look the other day, and realized this was a gap in the original design of the control. Bubbling up some notes here for tracking. Basically, the initial design assumed we'd only be taking away from the provided width of the parent container (e.g. ListView) for the columns, vs. ever providing a size greater based on desired size of larger columns (e.g. with a lot of text). So, the starting point is this bit of code here in the measure of Labs-Windows/components/DataTable/src/DataTable/DataRow.cs Lines 167 to 168 in f664523
As I was testing just enabling the horizontal scroll properties on the Basically, to also prevent re-calculating constantly, with the existing paradigm is to call here to Labs-Windows/components/DataTable/src/DataTable/DataRow.cs Lines 121 to 128 in f664523
This says that something is different than our last state and we should re-layout the table. So I think in the method here, we should calculate the desired width of the columns (based on the desired layout behavior) and return that as a value: Labs-Windows/components/DataTable/src/DataTable/DataTable.cs Lines 21 to 29 in f664523
That way we can use that to return back to the measure result and provide the ability for the size to expand. Though that also points to the same TODO note in the code around how should columns shrink back down after. And then how do columns coordinate with each other. Part of that probably depends on if your table is set to stretch vs. being aligned or if a user manipulates a column, etc... I think part of the issue is this just started as a prototype to lead us to some of these scenarios and questions. So, I think we need to go back and gather all these questions and figure out what the answers/behaviors are for these different scenarios and interactions and ensure we can fit them in the existing setup or adjust the code to accommodate them. But for this specific scenario, there's a bit more we could try and add to see how things behave (or not) maybe within the current setup, without hopefully too much more code (at least to see if it does work or not). |
Thank you for the detailed comment ^^ |
Describe the bug
When we enable horizontal scrollbars in the ListView parent of DataTable, it remains always visible even when not needed.
Also, when a column has lots of content it doesn't expand property to take as much horizontal space as needed to display its content completely, it just makes the rest of the content hidden.
Steps to reproduce
Expected behavior
I expect each column to expand wide to display its content completely so i can use the scrollbar to horizontally navigate.
I also expect the horizontal scrollbar to not be visible when it's set to "Auto" in the parent ListView, when there is nothing to horizontally scroll to.
Screenshots
Code Platform
Windows Build Number
Other Windows Build number
Windows 11 build 26120.3281
App minimum and target SDK version
Other SDK version
Windows 11 build 22621
Visual Studio Version
Preview
Visual Studio Build Number
17.14.0 Preview 1.0
Device form factor
Desktop
Additional context
No response
Help us help you
No, I'm unable to contribute a solution.
The text was updated successfully, but these errors were encountered: