public TableFilterSetter(FilterProto filter, bool isFilterCreated) : base(filter) { _rng = Current.CurRegion.ActiveCell; _coluumn = _rng.Column - Current.CurRegion.TblRange.FirstCol + 1; var cols = Current.CurRegion.ActiveRow.ExCells; if (isFilterCreated) { return; } filter.CanFilter = false; int i = 0; for (; i < cols.Length; i++) { if (!string.Equals(cols[i].ColName, filter.Name, StringComparison.OrdinalIgnoreCase)) { continue; } filter.CanFilter = true; _rng = cols[i].Rng; _coluumn = i + 1; break; } }
public PivotFilterSetter(FilterProto filter) : base(filter) { filter.CanFilter = false; int i = 0; var fields = Current.CurRegion.ActiveRow.PivotFields; for (; i < fields.Length; i++) { if (!string.Equals(fields[i].Name, filter.Name, StringComparison.OrdinalIgnoreCase)) { continue; } /*if (filter.GetType() == typeof(DateFilter) || filter.GetType() == typeof(DateFilter)) * if (fields[i].DataType != XlPivotFieldDataType.xlDate) continue;*/ if (filter.GetType() == typeof(NumericFilter)) { if (fields[i].DataType != XlPivotFieldDataType.xlNumber) { continue; } } filter.CanFilter = true; _pivField = fields[i]; break; } }
public FilterSetter(FilterProto filter) { _filter = filter; }