Построение графиков на основе данных из таблицы базы данных с помощью элемента управления Chart

С помощью элемента управления Chart можно легко визуализировать информацию из баз данных. Существуют два основных способа это сделать: использовать обычный ADO.NET или использовать LINQ.

В качестве примера, рассмотрим построение графика по данным из простейшей Базы данных (БД). Эта БД содержит всего одну таблицу MyTable. Её содержимое показано на рисунке ниже.

Таблица БД

Данная БД и таблица были созданы специально для этой статьи. Поэтому, не стоит искать в них какой-либо смысл, кроме демонстрации работы с Chart. Как говорится, все совпадения случайны.

Способ с использованием ADO.NET

Для реализации подключения к БД необходимо использовать не визуальный элемент управления DataSet. После создания подключения к БД (создаётся в режиме мастера) поместим на форму не визуальный элемент управления BindingSource. Укажем в его свойстве DataSource DataSet с созданным подключением к БД, а в свойстве DataMembers таблицу с данными (MyTable).

После этого Visual Studio автоматически создаст компонент TableAdapter для получения данных из таблицы.

Теперь, когда всё подготовлено, приступим непосредственно к построению графика. Для этого сперва получим необходимые данные, затем зададим какой столбец будет осью абсцисс и ординат.

Необходимо отметить, что по умолчанию Chart уже содержит один ряд данных (имя по умолчанию Series1).

После этого, собственно, строим график.

Способ с использованием LINQ

То же самое можно сделать и с применением LINQ. В качестве примера используем туже БД, но экспортированную в MS SQL Server.

После создания классов LINQ to SQL для этой БД выполним инициализацию и напишем запрос для получения данных.

После этого в цикле foreach заполняем ряд данных.

Далее строим график.

Результат построения графиков первым и вторым способом одинаковый.

Результат построения графиков

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

Один комментарий

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *