diff --git a/src/BlazorDatasheet.Core/Commands/SortRangeCommand.cs b/src/BlazorDatasheet.Core/Commands/SortRangeCommand.cs
index b4b75520..8af0b0d5 100644
--- a/src/BlazorDatasheet.Core/Commands/SortRangeCommand.cs
+++ b/src/BlazorDatasheet.Core/Commands/SortRangeCommand.cs
@@ -20,11 +20,10 @@ public class SortRangeCommand : IUndoableCommand
/// The region to sort
/// The column sort options, if null the default sort (sort on column 0 ascending) will be used.
/// If two column values are equal, then the next option will be used for the sort, equivalent to a ThenBy
- public SortRangeCommand(IRegion region, List? sortOptions = null)
+ public SortRangeCommand(IRegion region, List sortOptions = null)
{
_region = region;
- _sortOptions = sortOptions ?? new List()
- { new(0, true) };
+ _sortOptions = sortOptions;
}
///
diff --git a/src/BlazorDatasheet.Core/Data/Sheet.cs b/src/BlazorDatasheet.Core/Data/Sheet.cs
index ff8e2d02..5805e23e 100644
--- a/src/BlazorDatasheet.Core/Data/Sheet.cs
+++ b/src/BlazorDatasheet.Core/Data/Sheet.cs
@@ -310,6 +310,9 @@ public void SortRange(IRegion? region, List? sortOptions = nu
{
if (region == null)
return;
+
+ sortOptions ??= [new ColumnSortOptions(0, true)];
+
var beforeArgs = new BeforeRangeSortEventArgs(region, sortOptions);
BeforeRangeSort?.Invoke(this, beforeArgs);
var cmd = new SortRangeCommand(region, sortOptions);
diff --git a/src/BlazorDatasheet.Core/Events/BeforeRangeSortEventArgs.cs b/src/BlazorDatasheet.Core/Events/BeforeRangeSortEventArgs.cs
index 5e15c6a2..a7cc6d9a 100644
--- a/src/BlazorDatasheet.Core/Events/BeforeRangeSortEventArgs.cs
+++ b/src/BlazorDatasheet.Core/Events/BeforeRangeSortEventArgs.cs
@@ -7,9 +7,9 @@ namespace BlazorDatasheet.Core.Events;
public class BeforeRangeSortEventArgs : CancelEventArgs
{
public IRegion Region { get; }
- public IList? SortOptions { get; }
+ public IList SortOptions { get; }
- public BeforeRangeSortEventArgs(IRegion region, IList? sortOptions)
+ public BeforeRangeSortEventArgs(IRegion region, IList sortOptions)
{
Region = region;
SortOptions = sortOptions;
diff --git a/test/BlazorDatasheet.Test/SheetTests/SheetTests.cs b/test/BlazorDatasheet.Test/SheetTests/SheetTests.cs
index 6d7ac660..c4ebbe1b 100644
--- a/test/BlazorDatasheet.Test/SheetTests/SheetTests.cs
+++ b/test/BlazorDatasheet.Test/SheetTests/SheetTests.cs
@@ -141,6 +141,7 @@ public void Cancel_Before_Range_Sort_Cancels_Sorting()
sheet.BeforeRangeSort += (sender, args) =>
{
args.Cancel = true;
+ args.SortOptions.Should().NotBeNull();
};
sheet.SortRange(new ColumnRegion(0));