Изменение типа диаграммы и настройка набора отображаемых рядов

Для выполнения примера предполагается наличие в репозитории рабочей книги с идентификатором «OBJ123», в которой будут изменен тип диаграммы и набор отображаемых в ней данных. В отчете должна отображаться диаграмма.

Подключите ссылки на следующие системные сборки:

Пример Fore

Sub UserProc;
Var
    MB: IMetabase;
    CrInfo: IMetabaseObjectCreateInfo;
    MObj: IMetabaseObject;
    Exp: IEaxAnalyzer;
    Chart: IChart;
    Table: ITabSheet;
Begin
    MB := MetabaseClass.Active;
    //Открываем рабочую книгу на редактирование
    MObj := MB.ItemById("OBJ123").Edit;
    Exp := MObj As IEaxAnalyzer;
    //Получаем диаграмму рабочей книги
    Chart := Exp.Chart.Chart;
    //Изменяем тип диаграммы на столбиковую
    Chart.Type := ChartType.Bars;
    //Получаем таблицу рабочей книги
    Table := Exp.Grid.TabSheet;
    //Выделяем всю таблицу, чтобы в диаграмме отображались все ряды, имеющиеся в таблице
    Table.View.Selection.SelectAll;
    MObj.Save;
End Sub UserProc;

После выполнения примера диаграмма будет изменена на столбиковую. Будут выделены все ряды в таблице, тем самым изменится набор отображаемых данных в диаграмме.

Пример Fore.NET

Указанная процедура является точкой входа Main в модуле Program .NET-сборки. В данный модуль должны быть импортированы сборки Express, Metabase, Chart, Tab из системной сборки Prognoz.Platform.Interop.

Public Shared Sub Main(Params: StartParams);

Var
    MB: IMetabase;
    CrInfo: IMetabaseObjectCreateInfo;
    MObj: IMetabaseObject;
    Exp: IEaxAnalyzer;
    Chart: IChart;
    Table: ITabSheet;
Begin
    MB :=  Params.Metabase;
    //Открываем рабочую книгу на редактирование
    MObj := MB.ItemById["OBJ123"].Edit();
    Exp := MObj As IEaxAnalyzer;
    //Получаем диаграмму рабочей книги
    Chart := Exp.Chart.Chart;
    //Изменяем тип диаграммы на столбиковую
    Chart.Type := ChartType.chtBars;
    //Получаем таблицу рабочей книги
    Table := Exp.Grid.TabSheet;
    //Выделяем всю таблицу, чтобы в диаграмме отображались все ряды, имеющиеся в таблице
    Table.View.Selection.SelectAll();
    MObj.Save();
End Sub;

Результат выполнения примера аналогичен результату примера на Fore.

См. также:

Примеры