Corridors: IChartCorridors;
Свойство Corridors возвращает коллекцию коридоров диаграммы.
Для выполнения примера предполагается наличие линейной диаграммы на листе регламентного отчета с идентификатором «REGULAR_REPORT». На диаграмме должно быть больше двух рядов. Подключите системные сборки: Report, Tab, Chart и Metabase.
Sub UserProc;
Var
ActiveReport: IPrxReport;
Sheet: IPrxSheet;
PrxTable: IPrxTable;
TabSheet: ITabSheet;
C: IChart;
Corridor: IChartCorridors;
IdC: Integer;
MB: IMetabase;
Begin
MB:=MetabaseClass.Active;
ActiveReport:=MB.ItemById("REGULAR_REPORT").Edit As IPrxReport;
Sheet:=ActiveReport.Sheets.Item(0);
PrxTable := Sheet As IPrxTable;
TabSheet := PrxTable.TabSheet;
C := TabSheet.Objects.Item(0).Extension As IChart;
Corridor := C.Corridors;
IdC := Corridor.Add(0, 2);
(ActiveReport As IMetabaseObject).Save;
End Sub UserProc;
Для диаграммы регламентного отчета будет добавлен коридор между первым и третьим рядами. Переменная IdC будет хранить индекс добавленного коридора.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Report;
Imports Prognoz.Platform.Interop.Tab;
Imports Prognoz.Platform.Interop.Chart;
Public Shared Sub Main(Params: StartParams);
Var
ActiveReport: IPrxReport;
Sheet: IPrxSheet;
PrxTable: IPrxTable;
TabSheet: ITabSheet;
C: IChart;
Corridor: IChartCorridors;
IdC: Integer;
MB: IMetabase;
Begin
MB := Params.Metabase;
ActiveReport := MB.ItemById["REGULAR_REPORT"].Edit() As IPrxReport;
Sheet := ActiveReport.Sheets.Item[0];
PrxTable := Sheet As IPrxTable;
TabSheet := PrxTable.TabSheet;
C := TabSheet.Objects.Item[0].Extension As IChart;
Corridor := C.Corridors;
IdC := Corridor.Add[0, 2];
(ActiveReport As IMetabaseObject).Save();
End Sub;
См. также: