Closed Wowhere closed 1 month ago
Missing text in column headers when changing TreeDataGrid from read-only to edit mode
Result: Missing text in column headers. When usings horizontal scrollbar, buttons in TemplateColumn are messed up. Actions in video
https://github.com/AvaloniaUI/Avalonia.Controls.TreeDataGrid/assets/69252550/37d09117-e387-4260-8523-4ea10a672e97
Avalonia 11.0.2, Windows 10 Pro 22H2 Also, code
public void TreeDataGridInit() { var ColumnLength = public void TreeDataGridInit() { var ColumnLength = new GridLength(1, GridUnitType.Star); if (IsGridEditable) { var EditOptions = new TextColumnOptions<Hint> { BeginEditGestures = BeginEditGestures.Tap, IsTextSearchEnabled = true, }; TextColumn<Hint, string> HintTextColumn = new TextColumn<Hint, string>("Text", x => x.HintText, (r, v) => r.HintText = v, options: EditOptions, width: ColumnLength); TextColumn<Hint, string> HintCommentColumn = new TextColumn<Hint, string>("Comment", x => x.Comment, (r, v) => r.Comment = v, options: EditOptions, width: ColumnLength); HintsGridData = new FlatTreeDataGridSource<Hint>(HintsRows) { Columns = { HintTextColumn, HintCommentColumn, new TemplateColumn<Hint>("", new FuncDataTemplate<Hint>((a, e) => SaveButtonInit(), supportsRecycling: true)), new TemplateColumn<Hint>("", new FuncDataTemplate<Hint>((a, e) => RemoveButtonInit(), supportsRecycling: true)) }, }; IsAddButtonVisible = true; } else { HintsGridData = new FlatTreeDataGridSource<Hint>(HintsRows) { Columns = { new TextColumn<Hint, string>("Text", x => x.HintText, width: ColumnLength), new TextColumn<Hint, string>("Comment", x => x.Comment, width: ColumnLength) }, }; IsAddButtonVisible = false; } HintsGridData.Selection = new TreeDataGridCellSelectionModel<Hint>(HintsGridData); } new GridLength(1, GridUnitType.Star); if (IsGridEditable) { var EditOptions = new TextColumnOptions<Hint> { BeginEditGestures = BeginEditGestures.Tap, IsTextSearchEnabled = true, }; TextColumn<Hint, string> HintTextColumn = new TextColumn<Hint, string>("Text", x => x.HintText, (r, v) => r.HintText = v, options: EditOptions, width: ColumnLength); TextColumn<Hint, string> HintCommentColumn = new TextColumn<Hint, string>("Comment", x => x.Comment, (r, v) => r.Comment = v, options: EditOptions, width: ColumnLength); HintsGridData = new FlatTreeDataGridSource<Hint>(HintsRows) { Columns = { HintTextColumn, HintCommentColumn, new TemplateColumn<Hint>("", new FuncDataTemplate<Hint>((a, e) => SaveButtonInit(), supportsRecycling: true)), new TemplateColumn<Hint>("", new FuncDataTemplate<Hint>((a, e) => RemoveButtonInit(), supportsRecycling: true)) }, }; IsAddButtonVisible = true; } else { HintsGridData = new FlatTreeDataGridSource<Hint>(HintsRows) { Columns = { new TextColumn<Hint, string>("Text", x => x.HintText, width: ColumnLength), new TextColumn<Hint, string>("Comment", x => x.Comment, width: ColumnLength) }, }; IsAddButtonVisible = false; } HintsGridData.Selection = new TreeDataGridCellSelectionModel<Hint>(HintsGridData); }
Problem solved by initialization of length for all columns
Missing text in column headers when changing TreeDataGrid from read-only to edit mode
Result: Missing text in column headers. When usings horizontal scrollbar, buttons in TemplateColumn are messed up. Actions in video
https://github.com/AvaloniaUI/Avalonia.Controls.TreeDataGrid/assets/69252550/37d09117-e387-4260-8523-4ea10a672e97
Avalonia 11.0.2, Windows 10 Pro 22H2 Also, code