Legends: IVZLegends;
Legends: Prognoz.Platform.Interop.Visualizators.VZLegends;
Свойство Legends возвращает коллекцию легенд таблицы.
Для определения назначения метрики в легенде визуализатора используйте IEaxObject.IndicatorLegendAssignment.
Для выполнения примера в репозитории необходимо наличие формы, содержащей компоненты:
ReportBox с идентификатором «ReportBox1»;
UiReport с идентификатором «UiReport1», который является источником данных для «ReportBox1».
Необходимо наличие регламентного отчета, который содержит таблицу. Одно из измерений таблицы имеет тип метрики «Цвет фона». Регламентный отчет является источником данных для «UiReport1».
Добавьте ссылки на системные сборки: Drawing, Express, Tab, Visualizators.
Sub UserProc;
Var
Report: IPrxReport;
TS: ITabSheet;
Grid: IEaxGrid;
Pos: IGxRectF;
Visualizer: IPrxVisualizerLegend;
i: Integer;
Begin
// Получим регламентный отчет
Report := UiReport1.Report;
// Получим активный лист отчета
TS := (Report.ActiveSheet As IPrxTable) As ITabSheet;
// Вставим в отчет легенду таблицы
Pos := New GxRectF.Create(0, 0, 0, 0);
Pos.Left := TS.View.Selection.Range.Location.X;
Pos.Top := TS.View.Selection.Range.Location.Y;
Pos.Width := TS.View.Selection.Range.Width;
Pos.Height := TS.View.Selection.Range.Height;
TS.Objects.Add("PrxVisualizerLegend", Pos);
Visualizer := TS.Objects.Item(TS.Objects.Count - 1).Extension As IPrxVisualizerLegend;
Grid := Report.DataArea.Views.Item(0) As IEaxGrid;
i := Grid.Legends.Add(Grid.IndicatorLegendAssignment(EaxGridIndicatorType.BackgroundColor));
Visualizer.SetEaxObjectLegend(Grid, EaxGridIndicatorType.BackgroundColor);
End Sub UserProc;
После выполнения примера в выбранном пользователем диапазоне ячеек таблицы будет создана легенда таблицы.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore. Вместо компонентов Fore используйте их Fore.NET аналоги.
Imports Prognoz.Platform.Interop.Drawing;
Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.Report;
Imports Prognoz.Platform.Interop.Tab;
Imports Prognoz.Platform.Interop.Visualizators;
…
Private Sub UserProc();
Var
Report: IPrxReport;
TS: ITabSheet;
Grid: IEaxGrid;
Pos: GxRectF = New GxRectFClass();
Visualizer: IPrxVisualizerLegend;
i: Integer;
Begin
// Получим регламентный отчет
Report := UiReportNet1.ReportUi.Report;
// Получим активный лист отчета
TS := (Report.ActiveSheet As IPrxTable) As ITabSheet;
// Вставим в отчет легенду таблицы
Pos.Create(0, 0, 0, 0);
Pos.Left := TS.View.Selection.Range.Location.X;
Pos.Top := TS.View.Selection.Range.Location.Y;
Pos.Width := TS.View.Selection.Range.Width;
Pos.Height := TS.View.Selection.Range.Height;
TS.Objects.Add("PrxVisualizerLegend", Pos);
Visualizer := TS.Objects.Item[TS.Objects.Count - 1].Extension As IPrxVisualizerLegend;
Grid := Report.DataArea.Views.Item[0] As IEaxGrid;
i := Grid.Legends.Add(Grid.IndicatorLegendAssignment[EaxGridIndicatorType.egitBackgroundColor As Integer]);
Visualizer.SetEaxObjectLegend(Grid, EaxGridIndicatorType.egitBackgroundColor As Integer);
End Sub UserProc;
См. также: