Сгруппируйте строки и создайте промежуточный итог

Группировка строк

Чтобы сгруппировать определенное количество строк:

  1. Добавьте элемент управления Aspose.Cells.GridWeb в веб-форму.
  2. Доступ к рабочему листу.
  3. Выберите нужное количество ячеек в строках.
  4. Сгруппируйте строки.

Когда строки сгруппированы, кнопка развертывания/свертывания отображается в верхней части сводной строки строк. Вы можете изменить настройку направления. Свойство WebWorksheet.IsSummaryRowBelow является логическим свойством. Установите для него значение false (по умолчанию), и итоговая строка будет над строками сведений. Установите для него значение true, и итоговая строка будет ниже строк с подробными сведениями. Нажмите кнопку «Развернуть/свернуть», чтобы развернуть или свернуть сгруппированные строки.

В следующем примере строки группируются со 2-й по 10-ю.

Группировка строк

дело:изображение_альтернативный_текст

 // Accessing the reference of the worksheet that is currently active

GridWorksheet sheet = GridWeb1.WorkSheets[GridWeb1.ActiveSheetIndex];

// Group the rows

sheet.Cells.GroupRows(1, 9);

Вложение сгруппированных строк

Вы можете создавать уровни организации при группировании набора строк. Вы можете группировать строки среди сгруппированных строк. В следующем примере показано вложение сгруппированных строк.

Группировка строк

дело:изображение_альтернативный_текст

 // Accessing the reference of the worksheet that is currently active

GridWorksheet sheet = GridWeb1.WorkSheets[GridWeb1.ActiveSheetIndex];

// Group the rows

sheet.Cells.GroupRows(1, 9);

// Create nested group of rows

sheet.Cells.GroupRows(4, 6);

Внутренний процесс: как работает контроль?

Каждая строка листа имеет номер схемы. По умолчанию номер контура равен нулю. Каждый раз, когда вы группируете строки, номер схемы увеличивается на 1. Номер структуры можно получить, вызвав метод GridWorksheet.Cells.GetRowOutlineLevel().

Разгруппировать строки

Aspose.Cells.GridWeb позволяет разгруппировать сгруппированные строки.

Чтобы разгруппировать определенное количество строк:

  1. Выберите несколько ячеек в строках листа, чтобы разгруппировать их.
  2. Разгруппируйте строки.

В следующем примере строки со 2-й по 10-ю разгруппированы.

 // Accessing the reference of the worksheet that is currently active

GridWorksheet sheet = GridWeb1.WorkSheets[GridWeb1.ActiveSheetIndex];

// Ungroup the rows

sheet.Cells.UngroupRows(1, 9); 

Создание промежуточного итога

Функция промежуточного итога элемента управления может группировать строки на листе с указанным столбцом и вычислять сводку по столбцам. Aspose.Cells.GridWeb может автоматически вычислять промежуточные итоговые значения для списка. Когда вы реализуете промежуточные итоги, элемент управления обрисовывает список, чтобы вы могли отображать и скрывать строки сведений для каждого промежуточного итога. Прежде чем добавлять промежуточные итоги, выполните сортировку по полю, в котором вы хотите получить промежуточные итоги. Для создания промежуточных итогов используйте любую версию перегруженного метода WebWorksheet.CreateSubtotal.

 public void CreateSubtotal

(

           int columnNameRowIndex,

           int dataRows,

           int groupByColumnIndex,

           SubtotalFunction subtotalFunction,

           int[]subtotalColumnIndexList

);

Список параметров

Нет. Имя параметра Описание
1 столбецNameRowIndex Индекс строки имени столбца row.
2 dataRows Количество строк данных.
3 groupByColumnIndex Индекс столбца для группируемого столбца.
4 промежуточный итогФункция Перечисление типа функции промежуточного итога.
5 subtotalColumnIndexList Индексы столбца для промежуточного итога.

Список сводных функций

Существует несколько типов сводных функций, поддерживаемых перечислением {[SubtotalFunction}}:

Нет. Имя функции Описание
1 СРЕДНИЙ Вычисляет среднее значение.
2 СЧИТАТЬ Подсчитывает числовые значения в ячейках.
3 СЧЁТ Подсчитывает нечисловые данные в ячейках.
4 МАКСИМУМ Вычисляет наибольшее значение.
5 МИН. Вычисляет наименьшее значение.
6 ТОВАР Вычисляет произведение значений.
7 СУММА Вычисляет сумму значений.
В следующем примере создаются промежуточные итоги, которые вычисляют нечисловые значения, сгруппированные по второму столбцу на листе.

Итоги

дело:изображение_альтернативный_текст

 sheet.CreateSubtotal(0, sheet.Cells.MaxRow, 1, SubtotalFunction.COUNTA, new int[]{ 1, 2, 3, 4, 5 });

Удаление промежуточного итога

Чтобы удалить промежуточный итог, используйте метод WebWorksheet.RemoveSubtotal. В следующем примере удаляются промежуточные итоги.

 // Accessing the reference of the worksheet that is currently active

GridWorksheet sheet = GridWeb1.WorkSheets[GridWeb1.ActiveSheetIndex];

//Remove the subtotals

sheet.RemoveSubtotal();

О функции ПРОМЕЖУТОЧНЫЙ ИТОГ

Элемент управления GridWeb использует функцию формулы ПРОМЕЖУТОЧНЫЙ ИТОГ для вычисления значения промежуточного итога.

Синтаксис: ПРОМЕЖУТОЧНЫЕ.ИТОГИ(номер_функции, ссылка1, ссылка2, …)

номер_функции — число, указывающее тип функции, используемой при расчете промежуточного итога.

1 СРЕДНИЙ
2 СЧИТАТЬ
3 СЧЁТ
4 МАКСИМУМ
5 МИН.
6 ТОВАР
7 СУММА
ref1, ref2 — области для подсчета. Если ref1, ref2, … содержат другие функции промежуточных итогов, указанные ячейки игнорируются, чтобы избежать дублирования вычислений.