void AddCondition(HideRowFilter drf) { if (_cbText.IsChecked == true) { TextCondition tc = TextCondition.FromString(TextCompareType.Contains, "*e*"); drf.AddFilterItem(1, tc); } if (_cbStyle.IsChecked == true) { ColorCondition sc = ColorCondition.FromColor(ColorCompareType.BackgroundColor, Colors.Cyan); drf.AddFilterItem(1, sc); } if (_cbNum.IsChecked == true) { NumberCondition nc = NumberCondition.FromDouble(GeneralCompareType.LessThan, 20); drf.AddFilterItem(1, nc); } if (_cbDate.IsChecked == true) { DateExCondition dc = DateExCondition.FromWeek(DayOfWeek.Thursday); drf.AddFilterItem(1, dc); } if (_cbNull.IsChecked == true) { FormulaCondition cx = FormulaCondition.FromType(CustomValueType.Empty); drf.AddFilterItem(1, cx); } }
public FilterButtonInfo(HideRowFilter rowFilter, int row, int column, Dt.Cells.Data.SheetArea sheetArea) { RowFilter = rowFilter; Row = row; Column = column; SheetArea = sheetArea; RowViewportIndex = -2; ColumnViewportIndex = -2; }
public void Execute(object parameter) { if ((((_info != null) && (_info.RowFilter != null)) && ((_excel != null) && (_excel.ActiveSheet != null))) && ((_column >= 0) && (_column < _excel.ActiveSheet.ColumnCount))) { HideRowFilter rowFilter = _info.RowFilter; object[] filterValues = parameter as object[]; _excel.ActiveSheet.Workbook.SuspendEvent(); try { rowFilter.Unfilter(_column); rowFilter.RemoveFilterItems(_column); if (filterValues != null) { for (int i = 0; i < filterValues.Length; i++) { object obj2 = filterValues[i]; if (obj2 is DateTime) { DateCondition filterItem = DateCondition.FromDateTime(DateCompareType.EqualsTo, (DateTime)obj2); rowFilter.AddFilterItem(_column, filterItem); } else if (obj2 is TimeSpan) { TimeSpan span = (TimeSpan)obj2; TimeCondition condition2 = TimeCondition.FromDateTime(DateCompareType.EqualsTo, Dt.Cells.Data.DateTimeExtension.FromOADate(span.TotalDays)); rowFilter.AddFilterItem(_column, condition2); } else { string expected = (string)(obj2 as string); if ((obj2 == BlankFilterItem.Blank) || (expected == null)) { expected = string.Empty; } TextCondition condition3 = TextCondition.FromString(TextCompareType.EqualsTo, expected); rowFilter.AddFilterItem(_column, condition3); } } } } catch { } finally { _excel.ActiveSheet.Workbook.ResumeEvent(); } if (!_excel.RaiseRangeFiltering(_column, filterValues)) { rowFilter.Filter(_column); _excel.RaiseRangeFiltered(_column, filterValues); } _excel.RefreshRange(-1, -1, -1, -1, SheetArea.Cells | SheetArea.ColumnHeader | SheetArea.RowHeader); _excel.RefreshFloatingObjects(); } }
public FilterButtonInfo(HideRowFilter rowFilter) { RowViewportIndex = -2; ColumnViewportIndex = -2; RowFilter = rowFilter; }
private void BtnSetFilter_Click(object sender, RoutedEventArgs e) { Worksheet sheet1 = TestActiveSheet; sheet1.RowCount = 10; sheet1.ColumnCount = 11; sheet1.SetArray(0, 0, new object[,] { {"abc",0}, {"abcd",1}, {"abcdxyz",2}, {123,3}, {"multiline \r\n lines",4}, {"abcde gavin sometest",5}, {"abcde",6}, {"",7}, {"jk国xyz",8}, {null,9}, }); sheet1.AddRows(9, 1); HideRowFilter rowfilter = new HideRowFilter(new CellRange(-1, -1, -1, -1)); ConditionBase item1 = NumberCondition.FromDouble(GeneralCompareType.GreaterThan, 10); this.testSpread.ActiveSheet.RowFilter = rowfilter; rowfilter.AddFilterItem(0, item1); rowfilter.Filter(0); }
void InitializeSample() { Worksheet sheet = _excel.Sheets[0]; sheet.RowCount = 50; sheet.ColumnCount = 8; int rc = sheet.RowCount; int cc = sheet.ColumnCount; for (int r = 0; r < rc; r++) { for (int c = 0; c < cc; c++) { if (c == 0) { sheet.SetValue(r, c, "Value is Number"); } else { sheet.SetValue(r, c, r + c); } } } sheet.SetValue(0, 0, SheetArea.ColumnHeader, "Conditions"); sheet.SetValue(0, 1, SheetArea.ColumnHeader, "Cell Value"); sheet.SetValue(1, 0, "Text contains e"); sheet.SetValue(10, 0, "Text doesn't contains e"); sheet.SetValue(21, 0, "Text contains e"); sheet.SetValue(1, 1, "begin"); sheet.SetValue(10, 1, "during"); sheet.SetValue(21, 1, "end"); sheet.SetValue(2, 0, "Background is Cyan"); sheet.SetValue(6, 0, "Background is Purple"); sheet.SetValue(12, 0, "Background is Cyan"); sheet.Cells[2, 1].Background = new SolidColorBrush(Colors.Cyan); sheet.Cells[6, 1].Background = new SolidColorBrush(Colors.Purple); sheet.Cells[12, 1].Background = new SolidColorBrush(Colors.Cyan); sheet.SetValue(3, 0, "Value is Thursday"); sheet.SetValue(8, 0, "Value is Friday"); sheet.SetValue(14, 0, "Value is Thursday"); sheet.SetValue(3, 1, new DateTime(2011, 6, 30)); sheet.SetValue(8, 1, new DateTime(2011, 7, 1)); sheet.SetValue(14, 1, new DateTime(2011, 6, 30)); sheet.SetValue(4, 0, "Value is null"); sheet.SetValue(9, 0, "Value is null"); sheet.SetValue(18, 0, "Value is null"); sheet.SetValue(4, 1, null); sheet.SetValue(9, 1, null); sheet.SetValue(18, 1, null); sheet.Columns[0].Width = 150; sheet.Columns[1].Width = 150; _filter = new HideRowFilter(new CellRange(-1, 0, -1, 2)); _filter.ShowFilterButton = false; sheet.RowFilter = _filter; }