Компоненты FastCube.Net. Часть 1. Cube, CubeGrid, CubeGridToolbar, Slice, SliceGrid, SliceGridToolbar.

04.04.2018

В этой статье мы рассмотрим компоненты, входящие в библиотеку FastCube.Net.

Список компонентов:

  • Cube – основной компонент, который загружает куб из файла и заполняет его данными;
  • CubeGrid – отвечает за отображение всех данных куба. Визуальный компонент;
  • CubeGridToolbar – отвечает за отображение панели инструментов для CubeGrid;
  • Slice – содержит срез куба;
  • SliceGrid – отвечает за отображение среза куба. Визуальный компонент;
  • SliceGridToolbar – панель инструментов для таблицы среза;
  • Chart – диаграмма, на основе среза;
  • ChartToolbar – панель инструментов для диаграммы;
  • DataSource – источник данных для куба.
  • DBDataSet – набор данных, получаемый из базы данных;
  • DTDataSet – набор данных, получаемый из DataTable.

Давайте рассмотрим схему взаимосвязи компонентов.

 

Рассматриваем схему слева направо. Объект DataSource имеет свойство DataSet.  Значением этого свойства будет ссылка на один из двух объектов: DBDataSet или DTDataSet.

Объект Cube имеет свойство DataSource. А CubeGrid и Slice связаны с объектом Cube.

В свою очередь SliceGrid и Chart связаны с объектом Slice. В дальнейшем, эта схема поможет нам в настройке связи компонентов.

А пока рассмотрим компоненты:

1)    Компонент Cube – это основа всего FastCube. Он загружает файл куба и выступает поставщиком данных и схемы данных для других компонентов.

Ниже будут приведены основные свойства и методы этого компонента.

Свойства:

Свойство

Описание

Active

 

Активность true или false. Обязательно убедитесь, что после всех настроек, свойство Active имеет значение true. Иначе, вы просто не увидите никаких данных.

Caption

 

Заголовок куба. Виден в CubeGrid.

CompressCubeFile

 

Использовать ли компрессию файла куба

DataSource

 

Источник данных необходимо выбрать, если вы заполняете куб данными из БД или DataTable.

Description

Описание. Видно в CubeGrid

SkipFieldsWithErrors

Пропускать поля с ошибками

SourceType

 

Тип источника данных указывает откуда брать данные для заполнения куба.

Может принимать одно из значений:

  • Empty
  • DataSource
  • File
  • Stream
  • Manual

Методы:

Метод

Описание

ClearGroups()

Отчистить группировку.

Close()

Закрыть куб.

GetFieldsCount()

Получить количество полей в кубе.

GetSourceRecordsCount()

Получить количество записей в источнике данных.

GetSourceValue()

Получить значение источника данных.

GetSourceValueAsString()

Получить значение источника данных в виде строки.

GetSourceValueId()

Получить идентификатор значения источника данных.

GetSourceValueIdAndVariant()

Получить идентификатор значения источника данных.

Load()

Загрузить куб. Файл или поток.

LoadGroups()

Загрузить группировку.

Open()

Открыть куб.

Save()

Сохранить куб в файл.

SaveGroups()

Сохранить группировку.

Dispose()

Уничтожает объект cube.

SendAlert()

Отправить предупреждение.

Примеры использования в коде:

1
2
3
4
5
FastReport.Olap.Cube.Cube cube = new FastReport.Olap.Cube.Cube();
cube.DataSource = dataSource1;
cube.SourceType = FastReport.Olap.Cube.SourceType.DataSource;
cube.Load("С:\\Program Files (x86)\\FastReports\\FastCube.Net Professional\\Demos\\Data\\Cubes\\2_0_sample_en1.mdc");
cube.Active = true;

 

Если вы используете файл куба, который содержит данные, то свойство DataSource задавать не нужно. А для свойства SourceType необходимо значение FastReport.Olap.Cube.SourceType.File.

 

2)    Компонент CubeGrid представляет собой сводную таблицу, заполняемую данными из куба. Проще говоря визуальное отображение куба.

Свойства:

Свойство

Описание

Сube

Объект куба.

DataZone

Настройки отображения данных в сетке.

Методы:

Метод

Описание

Export

Экспорт куба в один из форматов:

  • HTML;
  • DBF;
  • CSV;
  • XML;
  • Open Document Spreadsheet;
  • Excel;
  • Excel 2007.

CreateDataZone

Создать новую зону данных.

FullUpdate

Обновить зону данных и зону заголовков.

Примеры использования в коде:

1
2
3
4
CubeGrid cubeGrid = new CubeGrid();
 cubeGrid.Dock = DockStyle.Fill;
 cubeGrid.Parent = tabPage2;
 cubeGrid.Cube = cube;

Приведенный пример, показывает, как создать cubeGrid из кода приложения. Созданный объект нужно поместить на форму (свойство Parent), и настроить расположение (свойство Dock). Кроме того, необходимо указать куб, из которого брать данные.

3)    Компонент CubeGridToolbar – представляет собой панель инструментов, которая работает в связке с компонентом cubeGrid.

Эта панель инструментов предоставляет только один элемент – экспорт. В таблице ниже будут приведены доступные форматы экспорта.

Свойства:

Свойство

Описание

Grid

Грид, для которого действует панель инструментов.

ToolItems

Список элементов панели инструментов.

Примеры использования в коде:

1
2
3
4
CubeGridToolbar cubeGridToolbar = new CubeGridToolbar();
 cubeGridToolbar.Dock = DockStyle.Top;
 cubeGridToolbar.Parent = tabPage2;
 cubeGridToolbar.Grid = cubeGrid;

 

Если свойства Dock и Grid можно настроить в инспекторе свойств, то Parent нужно задавать только в коде программы.

4)    Компонент Slice содержит в себе срез куба. Для загрузки среза требуется загрузить файл со срезом. Это может быть файл куба или файл схемы.

Свойства:

Свойство

Описание

AutoUniqueValuesFilter

 Фильтровать повторяющиеся значения.

Cube

Объект куба.

FieldsOrder

Порядок отображения полей: ByIndex, ByName, ByCaption.

ColCount

Количество колонок.

HideColZeros

Скрывать пустые колонки.

HideRowZeros

Скрывать пустые строки.

HideTotalForSingleValue

Скрывать итог если всего одно значение.

MeasuresContainer

Контейнер, которые содержит показатели.

RowCount

Количество строк.

ScriptLanguage

Язык скрипта: CSharp, Vb.

ScriptText

Текст скрипта.

ScriptRestristions

Настройка ограничений скрипта.

SliceFields

Все поля среза.

XAxisContainer

Контейнер для полей, размещающихся по оси X. Для измерений.

YAxisContainer

Контейнер для полей, размещающихся по оси Y. Для измерений.

Основные методы:

Метод

Описание

BeginUpdate

Включить режим обновления.

EndUpdate

Завершить обновление.

Clear

Отчистить срез. Выгрузить файл среза.

Save

Сохранить срез. При сохранении куба выполняется автоматически.

Load

Загрузить срез из файла или потока.

Transpose

Транспонировать срез (изменить оси).

Примеры использования в коде:

1
2
FastReport.Olap.Slice.Slice slice1 = new FastReport.Olap.Slice.Slice();
slice1.Cube = cube;

 

5)    Компонент SliceGrid отображает срез в виде кросс-таблицы.  Это основной инструмент аналитика. Позволяет настраивать расположение полей, добавлять новые, сортировать, группировать и другое.

Свойства:

Свойство

Описание

DataZone

Настройки отображения данных в сетке.

XAxisZone

Настройки зоны отображения оси X.

YAxisZone

Настройки зоны отображения оси Y.

FilterFieldsZone

Настройки зоны фильтров.

XFieldsZone

Настройки зоны отображения измерений по оси X.

YFieldsZone

Настройки зоны отображения измерений по оси Y.

FieldsZone

Настройки зоны списка полей.

Методы:

Метод

Описание

Export()

Метод экспорта отчета в один из форматов:

  • HTML;
  • DBF;
  • CSV;
  • XML;
  • Open Document Spreadsheet;
  • Excel;
  • Excel 2007.

ShowFieldsEditor()

Открыть окно со списком полей среза.

Примеры использования в коде:

1
2
3
4
SliceGrid sliceGrid = new SliceGrid();
 sliceGrid.Dock = DockStyle.Fill;
 sliceGrid.Parent = tabPage1;
 sliceGrid.Slice = slice1;

Этот пример показывает, как создать объект sliceGrid в коде приложения. Если такой необходимости нет, то все настройки можно произвести в инспекторе свойств.

6)    Компонент SliceGridToolbar представляет собой визуализированную панель инструментов для SliceGrid:

 

Состав инструментария следующий:

1) Сохранить:

  • Куб;
  • Схему.

2) Открыть:

  • Куб;
  • Дополнительный куб;
  • Схему.

3) Отчистить сетку;
4) Экспортировать в:

  • HTML;
  • DBF;
  • CSV;
  • XML;
  • Open Document Spreadsheet;
  • Excel;
  • Excel 2007.

5) Транспонировать – поменять оси X и Y местами;
6) Скрыть пустые строки;
7) Скрыть пустые столбцы;
8) Тип сортировки строк:

  • Сортировать по значению оси;
  • Сортировать по итогам показателей;
  • Сортировать по выделенной колонке.

9) Тип сортировки колонок:

  • Сортировать по значению оси;
  • Сортировать по итогам показателей;
  • Сортировать по выделенной строке.

10) Редактировать показатели – настройки показателей. Сюда входит настройка условного выделения данных;
11) Формат отображения данных – задается для выбранной колонки или строки;
12) Список полей – список всех полей, доступных в срезе;
13) Редактор формул – по сути редактор скрипта на языке программирования C# или VB;
14) Информация – информация о срезе;

Свойства:

Свойство

Описание

Grid

Грид, для которого действует панель инструментов

ToolItems

Список элементов панели инструментов

Важной особенностью использования этого компонента является привязка к родительскому объекту в коде программы. То есть, вам недостаточно просто «перетащить» компонент на форму и настроить его свойство Grid. Необходимо в коде программы задать свойство Parent, чтобы отобразить toolbar на форме. Это может быть, например, объект sliceGrid, или TabPage, Panel, или другой подходящий.

Примеры использования в коде:

1
2
3
4
FastReport.Olap.Controls.SliceGridToolbar toolbar = new FastReport.Olap.Controls.SliceGridToolbar();
 toolbar.Grid = sliceGrid1;
 toolbar.Parent = sliceGrid1;
 toolbar.Dock = DockStyle.Top;

Во второй части статьи мы рассмотрим остальные объекты: Chart, ChartToolbar, DataSource, DBDataSet, DTDataSet.

28 октября 2024

Как настроить WSL 2 для работы с FastReport и FastCube

В этой статье попробуем вместе разобраться, как настроить WSL 2 для работы с компонентами FastReport и FastCube в Lazarus для Linux.
2 сентября 2024

Обзор облачного решения для создания и управления отчетами

МоиОтчеты Облако — это мощное облачное решение для создания и управления отчетами, обеспечивающее широкий спектр возможностей, от создания документов в различных форматах до интеграции с корпоративными системами.
12 августа 2024

Как собрать и установить плагин Postgres в FastReport .NET

В этой статье описывается подключение к базе посредством плагина FastReport .NET для дизайнера отчетов из Visual Studio через NuGet-сервер.