From 964d508630f01894781187aef924cdb6855df6cb Mon Sep 17 00:00:00 2001 From: OlgunR Date: Mon, 23 Feb 2026 08:55:53 +0100 Subject: [PATCH] Persist grid SizeMode in BandLayout for layout restore Added SizeMode property to BandLayout in both CatalogsGrid.razor and MassDataGrid.razor. The grid's current SizeMode is now saved and restored with the layout, ensuring user preferences for grid sizing persist across sessions. This improves the consistency of the user experience when reloading or switching layouts. --- DbFirst.BlazorWebApp/Components/CatalogsGrid.razor | 3 +++ DbFirst.BlazorWebApp/Components/MassDataGrid.razor | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/DbFirst.BlazorWebApp/Components/CatalogsGrid.razor b/DbFirst.BlazorWebApp/Components/CatalogsGrid.razor index 9af50f3..775b97d 100644 --- a/DbFirst.BlazorWebApp/Components/CatalogsGrid.razor +++ b/DbFirst.BlazorWebApp/Components/CatalogsGrid.razor @@ -515,6 +515,7 @@ else var layout = gridRef.SaveLayout(); bandLayout.GridLayout = layout; + bandLayout.SizeMode = _sizeMode; var orderedColumns = layout.Columns .Where(column => !string.IsNullOrWhiteSpace(column.FieldName)) @@ -552,6 +553,7 @@ else columnBandAssignments = BuildAssignmentsFromLayout(bandLayout); ApplyColumnLayoutFromStorage(); + _sizeMode = bandLayout.SizeMode; UpdateBandOptions(); } @@ -754,6 +756,7 @@ else public List ColumnOrder { get; set; } = new(); public Dictionary ColumnWidths { get; set; } = new(StringComparer.OrdinalIgnoreCase); public GridPersistentLayout? GridLayout { get; set; } + public DevExpress.Blazor.SizeMode SizeMode { get; set; } = DevExpress.Blazor.SizeMode.Medium; } private sealed class BandDefinition diff --git a/DbFirst.BlazorWebApp/Components/MassDataGrid.razor b/DbFirst.BlazorWebApp/Components/MassDataGrid.razor index e1a1014..2424785 100644 --- a/DbFirst.BlazorWebApp/Components/MassDataGrid.razor +++ b/DbFirst.BlazorWebApp/Components/MassDataGrid.razor @@ -363,6 +363,7 @@ else columnBandAssignments = BuildAssignmentsFromLayout(bandLayout); ApplyColumnLayoutFromStorage(); + _sizeMode = bandLayout.SizeMode; UpdateBandOptions(); } @@ -403,6 +404,7 @@ else var layout = gridRef.SaveLayout(); bandLayout.GridLayout = layout; + bandLayout.SizeMode = _sizeMode; var orderedColumns = layout.Columns .Where(column => !string.IsNullOrWhiteSpace(column.FieldName)) @@ -416,6 +418,8 @@ else bandLayout.ColumnWidths = orderedColumns .Where(column => !string.IsNullOrWhiteSpace(column.Width)) .ToDictionary(column => column.FieldName, column => column.Width, StringComparer.OrdinalIgnoreCase); + + bandLayout.SizeMode = _sizeMode; } private async Task ResetBandLayoutAsync() @@ -764,6 +768,7 @@ else public List ColumnOrder { get; set; } = new(); public Dictionary ColumnWidths { get; set; } = new(StringComparer.OrdinalIgnoreCase); public GridPersistentLayout? GridLayout { get; set; } + public DevExpress.Blazor.SizeMode SizeMode { get; set; } = DevExpress.Blazor.SizeMode.Medium; } private sealed class BandDefinition