Chart (Index: Integer): IChart;
Chart[System.Int32]: Prognoz.Platform.Interop.Chart.DxChart: IChart;
Index. Индекс диаграммы.
Свойство Chart возвращает объект типа IChart с указанным индексом, которому принадлежит элемент легенды.
Для выполнения примера предполагается наличие регламентного отчета с идентификатором «Report». В отчете присутствуют объекты: диаграмма и внешняя легенда.
Sub Main;
Var
mb: IMetabase;
rep: IPrxReport;
legend: IPrxChartLegend;
chartlegend: IChartExternLegend;
objects: ITabObjects;
C: IChart;
Begin
mb := MetabaseClass.Active;
rep := mb.ItemById("OBJ42859").Edit As IPrxReport;
objects := (rep.ActiveSheet As IprxTable).TabSheet.Objects;
legend := objects.Item(1).Extension As IPrxChartLegend;
chartlegend := legend As IChartExternLegend;
chartlegend.AddChart(objects.Item(2).Extension As IChart);
C:= chartlegend.Chart(0);
debug.WriteLine(chartlegend.isDirty);
If chartlegend.ChartCount > 0 Then
chartlegend.RemoveChart(chartlegend.Chart(0));
End If;
chartlegend.ItemSeparator:= "||";
(rep As IMetabaseObject).Save;
End Sub Main;
После выполнения примера в переменной «С» будет находиться объект типа IChart с указанным индексом, которому принадлежит элемент легенды.
Для выполнения примера предполагается наличие регламентного отчета с идентификатором «Report». В отчете присутствуют объекты: диаграмма и внешняя легенда.
Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Chart;
Imports Prognoz.Platform.Interop.Report;
Imports Prognoz.Platform.Interop.Tab;
...
Public Shared Sub Main(Params: StartParams);
Var
mb: IMetabase;
rep: IPrxReport;
legend: IPrxChartLegend;
chartlegend: IChartExternLegend;
objects: ITabObjects;
C: IChart;
Begin
mb := Params.Metabase;
rep := mb.ItemById["OBJ42859"].Edit() As IPrxReport;
objects := (rep.ActiveSheet As IprxTable).TabSheet.Objects;
legend := objects.Item[1].Extension As IPrxChartLegend;
chartlegend := legend As IChartExternLegend;
chartlegend.AddChart(objects.Item[2].Extension As DxChart);
chartlegend.UseSerieIcon := False;
C:= chartlegend.Chart[0];
System.Diagnostics.Debug.WriteLine(chartlegend.isDirty);
If chartlegend.ChartCount > 0 Then
chartlegend.RemoveChart(chartlegend.Chart[0]);
End If;
(rep As IMetabaseObject).Save();
End Sub;
После выполнения примера в переменной «С» будет находиться объект типа IChart с указанным индексом, которому принадлежит элемент легенды.
См. также: