Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

BFI_DOPMAT / Построение диаграммы

.pdf
Скачиваний:
1
Добавлен:
01.04.2022
Размер:
108.21 Кб
Скачать

#pragma endregion

//Программа, используя элементы управления Chart и DataGridView, выводит

//график (диаграмму) зависимости объемов продаж от времени по месяцам.

//При этом в качестве источника данных указываем объект класса

DataTable

//~ ~ ~ ~ ~ ~ ~ ~ ~ ~

//Отображать ли столбики гистограммы в виде цилиндров:

Boolean Цилиндр;

private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e)

{

Цилиндр = false;

this->Text = "Щелкните на графике"; DataTable ^ Таблица = gcnew DataTable();

//В этой таблице заказываем две колонки "Месяц" и "Объем продаж":

Таблица->Columns->Add("Месяц", String::typeid);

//В C#: Таблица.Columns.Add("Месяц", typeof(String));

//Значения во второй колонке назначаем типа long:

Таблица->Columns->Add("Объем продаж", long::typeid);

//В C#: Таблица.Columns.Add("Объем продаж", typeof(long));

//Заполняем первую строку (ряд) в таблице:

DataRow ^ Ряд = Таблица->NewRow();

Ряд["Месяц"] = "Май"; Ряд["Объем продаж"] = 15;

Таблица->Rows->Add(Ряд);

//Добавляем вторую строку в таблице:

Ряд = Таблица->NewRow();

Ряд["Месяц"] = "Июнь"; Ряд["Объем продаж"] = 35;

Таблица->Rows->Add(Ряд);

//Добавляем третью строку:

Ряд = Таблица->NewRow();

Ряд["Месяц"] = "Июль"; Ряд["Объем продаж"] = 65;

Таблица->Rows->Add(Ряд);

// Добавляем четвертую строку:

Ряд = Таблица->NewRow();

Ряд["Месяц"] = "Авг"; Ряд["Объем продаж"] = 85;

Таблица->Rows->Add(Ряд);

// Добавляем пятую строку:

Ряд = Таблица->NewRow();

Ряд["Месяц"] = "Сент"; Ряд["Объем продаж"] = 71;

Таблица->Rows->Add(Ряд);

//Составленную таблицу указываем в качестве источника данных: chart1->DataSource = Таблица;

//На одном графике можно изобразить несколько зависимостей.

//Например, первая зависимость - объемы продаж по указанным

//месяцам в 2009 году, и вторая зависимость - продажи по

//тем же месяцам в 2010 году.

//В данном графике мы покажем только одну зависимость, данные

//для отображения этой зависимости назовем "Series1"

//По горизонтальной оси откладываем названия месяцев:

chart1->Series["Series1"]->XValueMember = "Месяц"; // А по вертикальной оси откладываем объемы продаж:

chart1->Series["Series1"]->YValueMembers = "Объем продаж"; // Название графика (диаграммы): chart1->Titles->Add("Объемы продаж по месяцам");

// Задаем тип диаграммы - столбиковая гистограмма: chart1->Series["Series1"]->ChartType = System::Windows::Forms::

DataVisualization::Charting::SeriesChartType::Column;

//Тип диаграммы может быть другим, например: Pie, Line и др. chart1->Series["Series1"]->Color = Color::Aqua;

//Легенду на графике не отображаем:

chart1->Series["Series1"]->IsVisibleInLegend = false;

//Привязка графика к источнику данных: chart1->DataBind();

//Для сетки данных указываем источник данных dataGridView1->DataSource = Таблица;

}

private: System::Void chart1_Click(System::Object^ sender, System::EventArgs^ e)

{

//Обработка события "щелчок на графике" Цилиндр = !Цилиндр;

//Изображение столбиков гистограммы в виде цилиндра: if (Цилиндр == true)

} };

}

chart1->Series["Series1"]["DrawingStyle"] = "Cylinder"; else

chart1->Series["Series1"]["DrawingStyle"] = "Default";