Beispiel #1
0
 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);
     }
 }
Beispiel #2
0
 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;
 }
Beispiel #3
0
 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();
     }
 }
Beispiel #4
0
 public FilterButtonInfo(HideRowFilter rowFilter)
 {
     RowViewportIndex    = -2;
     ColumnViewportIndex = -2;
     RowFilter           = rowFilter;
 }
Beispiel #5
0
 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);
 }
Beispiel #6
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;
        }