Delphi 3 и создание приложений баз данных


13.3. Добавление серии во время выполнения


Число серий, присутствующих в текущий момент в графике, во время выполнения можно определить при помощи метода компонента TDBChart function SeriesCount: Longint;

Список серий графика содержится в его свойстве property Series[Index:Longint]:TChartSeries; где Index лежит в диапазоне 0.. SeriesCount-1, поскольку отсчет серий идет с нуля.

Метод procedure RefreshData; обновляет данные в серии из наборов данных, которые служат их источником. Например, пусть график показывает отпуск товара конкретному покупателю. Источником данных для серии графика служит Query 1, которому в качестве параметра передается имя покупателя. При всякой смене имени покупателя происходит обновление Query 1, сопровождающееся изменением данных. Эти изменения отражаются в графике так:

Queryl.Open;

DBChartl. RefreshData;

Покажем, как можно добавить серию в график во время выполнения:

var

MySeries : TBarSeries;

MySeries := TBarSeries.Create(Self);

MySeries.ParentChart := DBChartl;

MySeries.SeriesColor := cIGreen;

MySeries.DataSource := Queryl;

MySeries.XLabelsSource := 'MES';

MySeries.YValues.ValueSource:='S';

MySeries.Active := True;

MySeries.Title := Table1POKUP.Value;

В приведенном примере создается серия типа Bar (вертикальная столбчатая диаграмма), в качестве родительского графика ей назначается DBChartl. В качестве источника данных назначается Queryl. Для формирования значений серии используются поля компонента Queryl: S (по оси Y) и MES (в качестве Labels). Затем серия активизируется (после этого она становится видна в графике) и ее заголовку присваивается наименование покупателя.




- Начало -  - Назад -  - Вперед -