diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/AutoFilters/XLAutoFilter.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/AutoFilters/XLAutoFilter.cs index f8510bf..79430e6 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/AutoFilters/XLAutoFilter.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/AutoFilters/XLAutoFilter.cs @@ -94,8 +94,11 @@ public XLAutoFilter Sort(Int32 columnToSortBy, XLSortOrder sortOrder, Boolean matchCase, Boolean ignoreBlanks) { + var ws = Range.Worksheet as XLWorksheet; + ws.SuspendEvents(); Range.Range(Range.FirstCell().CellBelow(), Range.LastCell()).Sort(columnToSortBy, sortOrder, matchCase, - ignoreBlanks).Dispose(); + ignoreBlanks); + Sorted = true; SortOrder = sortOrder; SortColumn = columnToSortBy; @@ -105,7 +108,7 @@ using (var rows = Range.Rows(2, Range.RowCount())) { foreach (IXLRangeRow row in rows) - row.WorksheetRow().Unhide().Dispose(); + row.WorksheetRow().Unhide(); } foreach (KeyValuePair> kp in Filters) @@ -125,9 +128,9 @@ if (firstFilter) { if (match) - row.WorksheetRow().Unhide().Dispose(); + row.WorksheetRow().Unhide(); else - row.WorksheetRow().Hide().Dispose(); + row.WorksheetRow().Hide(); } else { @@ -136,13 +139,13 @@ if (!row.WorksheetRow().IsHidden) { if (match) - row.WorksheetRow().Unhide().Dispose(); + row.WorksheetRow().Unhide(); else - row.WorksheetRow().Hide().Dispose(); + row.WorksheetRow().Hide(); } } else if (match) - row.WorksheetRow().Unhide().Dispose(); + row.WorksheetRow().Unhide(); } } firstFilter = false; @@ -150,7 +153,7 @@ } } } - + ws.ResumeEvents(); return this; } }