EaxChart: IEaxChart;
EaxChart: Prognoz.Platform.Interop.Express.EaxChart;
Свойство EaxChart определяет диаграмму, источником данных которой является аналитическая область данных.
Для определения типа источника диаграммы используйте свойство IPrxChart.SourceType.
Для выполнения примера предполагается наличие регламентного отчета с идентификатором «REGULAR_REPORT». На листе отчета размещена аналитическая область данных.
Добавьте ссылки на системные сборки Express, Drawing, Metabase, Report, Tab.
Sub UserProc;
Var
MB: IMetabase;
Report: IPrxReport;
Table: IPrxTable;
TabObj: ITabObjects;
Placement: IGxRectF;
prx_chart: IPrxChart;
DArea: IEaxDataArea;
eax_da: IEaxDataAreaViews;
obj_type: EaxObjectType;
eax_obj: IEaxObject;
eax_chart: IEaxChart;
Begin
MB := MetabaseClass.Active;
Report := MB.ItemById("REGULAR_REPORT").Edit As IPrxReport;
Table := Report.ActiveSheet As IPrxTable;
TabObj := Table.TabSheet.Objects;
TabObj.Clear;
Placement:= New GxRectF.Create(10,10,150,100);
prx_chart := TabObj.Add("PrxChart",Placement).Extension As IPrxChart;
prx_chart.SourceType := PrxChartSourceType.EaxChart;
// Источник данных для диаграммы:
DArea := Report.DataArea;
eax_da := DArea.Slices.Item(0).Views;
obj_type := EaxObjectType.Chart;
eax_obj := eax_da.AddByType(obj_type);
eax_chart := eax_obj As IEaxChart;
eax_chart.Visible := True;
eax_chart.Enabled := True;
prx_chart.EaxChart := eax_chart;
(Report As IMetabaseObject).Save;
End Sub UserProc;
В результате выполнения примера на лист регламентного отчета будет добавлена диаграмма, источником данных которой является аналитическая область данных.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Report;
Imports Prognoz.Platform.Interop.Tab;
Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.Drawing;
…
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
Report: IPrxReport;
Table: IPrxTable;
TabObj: ITabObjects;
Placement: GxRectF = New GxRectFClass();
prx_chart: IPrxChart;
DArea: IEaxDataArea;
eax_da: IEaxDataAreaViews;
obj_type: EaxObjectType;
eax_obj: IEaxObject;
eax_chart: IEaxChart;
Begin
MB := Params.Metabase;
Report := MB.ItemById["REGULAR_REPORT"].Edit() As IPrxReport;
Table := Report.ActiveSheet As IPrxTable;
TabObj := Table.TabSheet.Objects;
TabObj.Clear();
Placement.Create(10,10,150,100);
prx_chart := TabObj.Add("PrxChart",Placement).Extension As IPrxChart;
prx_chart.SourceType := PrxChartSourceType.pcstEaxChart;
// Источник данных для диаграммы:
DArea := Report.DataArea;
eax_da := DArea.Slices.Item[0].Views;
obj_type := EaxObjectType.eotChart;
eax_obj := eax_da.AddByType(obj_type);
eax_chart := eax_obj As IEaxChart;
eax_chart.Visible := True;
eax_chart.Enabled := True;
prx_chart.EaxChart := eax_chart As EaxChart;
(Report As IMetabaseObject).Save();
End Sub;
См. также: