diff --git a/ClosedXML/Excel/AutoFilters/IXLAutoFilter.cs b/ClosedXML/Excel/AutoFilters/IXLAutoFilter.cs index 9886f1b..7b7f64d 100644 --- a/ClosedXML/Excel/AutoFilters/IXLAutoFilter.cs +++ b/ClosedXML/Excel/AutoFilters/IXLAutoFilter.cs @@ -1,3 +1,4 @@ +// Keep this file CodeMaid organised and cleaned using System; namespace ClosedXML.Excel @@ -6,15 +7,15 @@ public interface IXLAutoFilter { + Int32 SortColumn { get; set; } + Boolean Sorted { get; set; } + XLSortOrder SortOrder { get; set; } + IEnumerable VisibleRows { get; } + IXLFilterColumn Column(String column); IXLFilterColumn Column(Int32 column); IXLAutoFilter Sort(Int32 columnToSortBy = 1, XLSortOrder sortOrder = XLSortOrder.Ascending, Boolean matchCase = false, Boolean ignoreBlanks = true); - - Boolean Sorted { get; set; } - XLSortOrder SortOrder { get; set; } - Int32 SortColumn { get; set; } - IEnumerable VisibleRows { get; } } } diff --git a/ClosedXML/Excel/AutoFilters/IXLBaseAutoFilter.cs b/ClosedXML/Excel/AutoFilters/IXLBaseAutoFilter.cs index f92858b..a9a292e 100644 --- a/ClosedXML/Excel/AutoFilters/IXLBaseAutoFilter.cs +++ b/ClosedXML/Excel/AutoFilters/IXLBaseAutoFilter.cs @@ -1,20 +1,23 @@ +// Keep this file CodeMaid organised and cleaned using System; using System.Collections.Generic; namespace ClosedXML.Excel { - public enum XLFilterType { Regular, Custom, TopBottom, Dynamic, DateTimeGrouping } - public enum XLFilterDynamicType { AboveAverage, BelowAverage } + public enum XLFilterType { Regular, Custom, TopBottom, Dynamic, DateTimeGrouping } + public enum XLTopBottomPart { Top, Bottom } public interface IXLBaseAutoFilter { Boolean Enabled { get; set; } IXLRange Range { get; set; } - - IXLBaseAutoFilter Set(IXLRangeBase range); + Int32 SortColumn { get; set; } + Boolean Sorted { get; set; } + XLSortOrder SortOrder { get; set; } + IEnumerable VisibleRows { get; } IXLBaseAutoFilter Clear(); @@ -22,11 +25,8 @@ IXLFilterColumn Column(Int32 column); - IXLBaseAutoFilter Sort(Int32 columnToSortBy, XLSortOrder sortOrder = XLSortOrder.Ascending, Boolean matchCase = false, Boolean ignoreBlanks = true); + IXLBaseAutoFilter Set(IXLRangeBase range); - Boolean Sorted { get; set; } - XLSortOrder SortOrder { get; set; } - Int32 SortColumn { get; set; } - IEnumerable VisibleRows { get; } + IXLBaseAutoFilter Sort(Int32 columnToSortBy, XLSortOrder sortOrder = XLSortOrder.Ascending, Boolean matchCase = false, Boolean ignoreBlanks = true); } } diff --git a/ClosedXML/Excel/AutoFilters/XLAutoFilter.cs b/ClosedXML/Excel/AutoFilters/XLAutoFilter.cs index 70e879e..a1077e7 100644 --- a/ClosedXML/Excel/AutoFilters/XLAutoFilter.cs +++ b/ClosedXML/Excel/AutoFilters/XLAutoFilter.cs @@ -1,3 +1,4 @@ +// Keep this file CodeMaid organised and cleaned using System; using System.Linq; @@ -31,26 +32,17 @@ public Boolean Enabled { get; set; } public IXLRange Range { get; set; } + public Int32 SortColumn { get; set; } + + public Boolean Sorted { get; set; } + + public XLSortOrder SortOrder { get; set; } + IXLBaseAutoFilter IXLBaseAutoFilter.Clear() { return Clear(); } - IXLBaseAutoFilter IXLBaseAutoFilter.Set(IXLRangeBase range) - { - return Set(range); - } - - IXLBaseAutoFilter IXLBaseAutoFilter.Sort(Int32 columnToSortBy, XLSortOrder sortOrder, Boolean matchCase, - Boolean ignoreBlanks) - { - return Sort(columnToSortBy, sortOrder, matchCase, ignoreBlanks); - } - - public Boolean Sorted { get; set; } - public XLSortOrder SortOrder { get; set; } - public Int32 SortColumn { get; set; } - public IXLFilterColumn Column(String column) { var columnNumber = XLHelper.GetColumnNumberFromLetter(column); @@ -74,13 +66,25 @@ return filterColumn; } + IXLBaseAutoFilter IXLBaseAutoFilter.Set(IXLRangeBase range) + { + return Set(range); + } + + IXLBaseAutoFilter IXLBaseAutoFilter.Sort(Int32 columnToSortBy, XLSortOrder sortOrder, Boolean matchCase, + Boolean ignoreBlanks) + { + return Sort(columnToSortBy, sortOrder, matchCase, ignoreBlanks); + } + #endregion IXLBaseAutoFilter Members - public XLAutoFilter Set(IXLRangeBase range) + public IEnumerable VisibleRows { - Range = range.AsRange(); - Enabled = true; - return this; + get + { + return Range.Rows(r => !r.WorksheetRow().IsHidden); + } } public XLAutoFilter Clear() @@ -94,6 +98,13 @@ return this; } + public XLAutoFilter Set(IXLRangeBase range) + { + Range = range.AsRange(); + Enabled = true; + return this; + } + public XLAutoFilter Sort(Int32 columnToSortBy, XLSortOrder sortOrder, Boolean matchCase, Boolean ignoreBlanks) { if (!Enabled) @@ -167,13 +178,5 @@ ws.ResumeEvents(); return this; } - - public IEnumerable VisibleRows - { - get - { - return Range.Rows(r => !r.WorksheetRow().IsHidden); - } - } } } diff --git a/ClosedXML/Excel/AutoFilters/XLFilter.cs b/ClosedXML/Excel/AutoFilters/XLFilter.cs index e62c552..42ac112 100644 --- a/ClosedXML/Excel/AutoFilters/XLFilter.cs +++ b/ClosedXML/Excel/AutoFilters/XLFilter.cs @@ -1,12 +1,12 @@ +// Keep this file CodeMaid organised and cleaned using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; namespace ClosedXML.Excel { internal enum XLConnector { And, Or } + internal enum XLFilterOperator { Equal, NotEqual, GreaterThan, LessThan, EqualOrGreaterThan, EqualOrLessThan } + internal class XLFilter { public XLFilter(XLFilterOperator op = XLFilterOperator.Equal) @@ -14,10 +14,10 @@ Operator = op; } + public Func Condition { get; set; } + public XLConnector Connector { get; set; } + public XLDateTimeGrouping DateTimeGrouping { get; set; } public XLFilterOperator Operator { get; set; } public Object Value { get; set; } - public XLConnector Connector { get; set; } - public Func Condition { get; set; } - public XLDateTimeGrouping DateTimeGrouping { get; set; } } }