diff --git a/Radzen.Blazor/RadzenDataGrid.razor.cs b/Radzen.Blazor/RadzenDataGrid.razor.cs
index eebdcd02e00..b1b19f23b94 100644
--- a/Radzen.Blazor/RadzenDataGrid.razor.cs
+++ b/Radzen.Blazor/RadzenDataGrid.razor.cs
@@ -2424,12 +2424,14 @@ internal override async Task ReloadOnFirstRender()
///
/// Force load of the DataGrid Settings.
+ /// This method triggers a reload of the DataGrid settings, optionally forcing a reload even if the settings are already loaded.
///
- public async Task ReloadSettings()
+ /// If true, forces a reload of the settings regardless of their current state. Default is false.
+ public async Task ReloadSettings(bool forceReload = false)
{
if (settings != null)
{
- await LoadSettingsInternal(settings);
+ await LoadSettingsInternal(settings, forceReload);
}
}
@@ -3422,13 +3424,16 @@ public void SaveSettings()
}
///
- /// Load DataGrid settings saved from GetSettings() method.
+ /// Load DataGrid settings saved from the GetSettings() method.
+ /// This internal method handles the actual loading or updating of the DataGrid settings.
///
- internal async Task LoadSettingsInternal(DataGridSettings settings)
+ /// The DataGridSettings object containing the settings to be loaded.
+ /// If true, forces an update of the settings even if they haven't changed. Default is false.
+ internal async Task LoadSettingsInternal(DataGridSettings settings, bool forceUpdate = false)
{
if (SettingsChanged.HasDelegate)
{
- var shouldUpdateState = false;
+ var shouldUpdateState = forceUpdate;
var hasFilter = settings.Columns != null && settings.Columns.Any(c =>
c.FilterValue != null || c.SecondFilterValue != null ||
c.FilterOperator == FilterOperator.IsNull || c.FilterOperator == FilterOperator.IsNotNull ||