Open
Conversation
…r DataTable The removed logic would have been useless or more harmful, because of the reasons: 1) DataTable control is designed to represent 'header' of a table, not for containing the list of DataRows. 2) Grid control is often used to lay out other controls rather than constructing a table, so there was possibilities that completely unrelated Grids would have been caught as a parent.
That case doesn't work well for the Width="Auto" column. I'd like to make DataTable control simple rather than leave the pitfall.
From the design concept, DataColumn control simply provides a space for the header content, so it should not interact with keyboard operations by default. If something requested, the DataTable user could be place any controls like a Button there.
… not present Each rows lay out their columns independent, because there's no main controller to remember the column widths.
The internal column types are increased to 5: 1. IsAbsolute: have a width that is same with DesiredWidth, or a manually resized. 2. IsAuto: have a manually resized width. 3. IsStar: have a manually resized width. 4. IsAutoFit: have a calculated width that fits to each column content of visualized row. 5. IsStarProportion: have a calculated width, from the proportion of remained spaces. DataTable assigns the width space first to 1-3, then 4-5. But, to take the actual width of 4 would need the Measure of visualized rows, so DataTable and DataRows would have mutual call of InvalidateMeasure. When the layout system is being into stable, that loop will be break.
Author
|
@dotnet-policy-service agree |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
DataColumn.IsTabStopfalse(an issue in here)DataColumn.Visibilityin the layout logic.And I removed the hybrid-case support (
DataTableHybridSample). As I commented here, it would not work onAutocolumns as expected, so we should use the pair ofDataTableandDataRowalways.