В первой части статьи мы рассмотрели компоненты для анализа данных – куб и срез. Во второй части будут описаны компоненты для получения данных из БД или DataTable, а также диаграмма среза.
1. Компонент Chart представляет собой график, основанный на данных из среза. Он строится автоматически, достаточно лишь задать свойство Slice.
Свойства:
Свойство |
Описание |
SeriesType |
Тип диаграммы (колончатая, круговая и др.) |
SkipNullPoints |
Пропускать пустые точки на диаграмме |
BaseAxisDataType |
Тип данных базовой оси |
MeasureFieldIndex |
Индекс поля показателя |
SeriesFieldCount |
Количество полей серии |
CategoriesFieldCount |
Количество полей категорий |
SeriesAxis |
Ось серии. Содержит колонки и строки. |
CategoriesAxis |
Ось категорий. Содержит колонки и строки. |
DataType |
Способ представления данных на диаграмме |
Slice |
Ссылка на объект slice |
Legends |
Легенды – названия рядов данных (графиков) |
ChartAreas |
Области графика |
Frozen |
Заморозка позволяет зафиксировать состояние графика, так, что последующие изменения в срезе не будут на нем отражаться |
Методы:
Метод |
Описание |
BeginUpdate() |
Включить режим редактирования |
EndUpdate() |
Завершить редактирование |
Load(XmlItem item) |
Загрузить настройки графика из файла куба |
Save(XmlItem subItem) |
Сохранить настройки графика в файл куба |
Настройка компонента Chart сводится к выбору доступного среза в свойстве Slice.
Чтобы создать и настроить объект Chart в коде приложения используйте код:
1 2 3 4 |
Chart chart = new Chart(); chart.Dock = DockStyle.Fill; chart.Parent = tabPage3; chart.Slice = slice1; |
В этом случае нам нужно создать объект, настроить его отображение, привязать к родительскому объекту и задать срез.
2. Компонент ChartToolbar содержит инструменты для настройки отображения диаграммы.
Состав:
1) Chart style – стиль диаграммы:
2) Frozen chart – заморозить текущее состояние диаграммы;
3) Chart properties – свойства диаграммы в отдельном окне;
4) Marks – метки диаграммы;
5) Legend – легенда диаграммы;
6) Copy – копировать диаграмму в виде рисунка.
Свойства:
Свойство |
Описание |
Chart |
Объект Chart для которого действует эта панель инструментов |
При настройке визуального компонента необходимо задать свойство Chart – это диаграмма к которой будет привязана панель инструментов.
Настройка из кода приложения:
1 2 3 4 |
ChartToolbar chartToolbar = new ChartToolbar(); chartToolbar.Dock = DockStyle.Top; chartToolbar.Parent = tabPage3; chartToolbar.Chart = chart; |
3. Компонент DataSource – источник данных для куба.
Свойства:
Свойство |
Описание |
DataSet |
Набор данных – DBDataSet или DTDataSet |
Fields |
Список полей источника данных |
Методы:
Метод |
Описание |
AddFields() |
Загрузить поля куба из источника данных |
Check(StringBuilder msg, bool skipFieldsWithErrors) |
Проверить поля на дублирование |
Close() |
Обнуляет источник данных |
DeleteFields() |
Очищает список полей для куба |
InitFields(bool loaded = false) |
Инициализация полей |
Open() |
Открыть источник данных |
В настройках этого компонента необходимо определить набор данных. Это может быть DBDataSet или DTDataSet.
Ниже, для перечисленных компонентов будет показана настройка из кода приложения всей цепочки получения данных.
4. DBDataSet – набор данных для DataSource, получаемый из базы данных.
Свойства:
Свойство |
Описание |
DbCommand |
Команда для базы данных, которая содержит SQL запрос |
Настройка подключения куба к базе данных:
1) С помощью визуальных компонентов:
Чтобы настроить подключение к данным через DBSataSet требуется сформировать DBCommand с помощью компонента oleDBCommand. В свою очередь, для компонента oleDBCommand требуется задать подключение к базе данных с помощью компонента oleDBConnection.
Для настройки подключения к базе данных потребуются следующие компоненты:
Создаем новое подключение:
Необходимо задать команду – sql запрос. А также, нужно выбрать подключение к данным.
• Настройка cube:
2) Из кода приложения:
1 2 3 4 5 6 |
OleDbCommand command = new OleDbCommand(); command.CommandText = "Select * from Sales"; dbDataSet1.DbCommand = command; dataSource1.DataSet = dbDataSet1; cube1.DataSource = dataSource1; cube1.Open(); |
5. DTDataSet – набор данных для DataSource, получаемый из объекта DataTable. В свою очередь DataTable может быть заполнен данными из базы, текстового файла, кода приложения.
Свойство |
Описание |
DataTable |
Ссылка на таблицу |
Процедура настройки подключения к DataTable с помощью визуальных компонентов очень проста.
подключения куба к DataTable:
1) Настройка визуальных компонентов подобна настройке подключения к базе данных, с той лишь разницей, что в настройке DataSet у компонента DataSource нужно выбрать dtDataSet1. Соответственно не требуются oleDBConnection и oleDBCommand.
2) Из кода приложения:
1 2 3 4 5 6 7 |
DataTable dataTable = new DataTable(); // Create a table and fill it with data … cube1.Close(); // Close the cube to unload the data from it (if previously loaded) dtDataSet1.DataTable = dataTable; // For the data set, we assign the created table to the DataTable property dataSource1.DeleteFields(); // Clear the fields in the data source (if previously loaded) dataSource1.DataSet = dtDataSet1; cube1.Open(); // Open the cube to load the data into it |