AutoSetupScaleItems;
AutoSetupScaleItems();
Метод AutoSetupScaleItems пересчитывает шкалу визуализатора, исходя из значений первого и последнего элемента шкалы.
Расчет шкалы производится в соответствии с типом шкалы:
для цветовой шкалы происходит расчет цветов;
для числовой шкалы происходит расчет значений.
Перед вычислением шкалы можно задать количество интервалов для шкалы.
Для выполнения примера предполагается наличие в репозитории экспресс-отчета с идентификатором «EXPRESS». Подключите системные сборки: Drawing, Express, Metabase, Visualizators.
До выполнения примера цветовая шкала пузырькового дерева выглядит так, как показано на странице описания интерфейса IVZDataScale. Установим количество интервалов шкалы, равное 4, определим кисти для первого и последнего элемента шкалы, а затем перерассчитаем шкалу:
Sub UserProc;
Var
Metabase: IMetabase; // Метабаза
EaxAnalyzer: IEaxAnalyzer; // Экспресс-отчёт
BubbleTree: IVZBubbleTree; // Пузырьковое дерево
Scale: IVZDataScale; // Шкала цветов
Color: IGxColor; // Цвет
Brush: IGxSolidBrush;// Кисть для элементов шкалы
Begin
// Получим объект метабазы
Metabase := MetabaseClass.Active;
// Получим объект экспресс-отчёта
EaxAnalyzer := Metabase.ItemById("EXPRESS").Edit As IEaxAnalyzer;
// Получим пузырьковое дерево
BubbleTree := EaxAnalyzer.BubbleTree.BubbleTree;
// Получим шкалу пузырькового дерева
Scale := BubbleTree.ColorVisual.ColorMapping.Scale;
// Установим количество интервалов шкалы
Scale.IntervalsCount := 4;
// Создадим аметистовый цвет
Color := New GxColor.CreateRGB(153,102,204);
// Создадим кисть
Brush := New GxSolidBrush.Create(Color);
// Зададим кисть для первого элемента шкалы
Scale.First := Brush;
// Создадим васильковый цвет
Color := New GxColor.CreateRGB(100,149,237);
// Создадим кисть
Brush := New GxSolidBrush.Create(Color);
// Зададим кисть для последнего элемента шкалы
Scale.Last := Brush;
// Перерассчитаем шкалу
Scale.AutoSetupScaleItems;
// Сохраним изменения, сделанные в экспресс-отчёте
(EaxAnalyzer As IMetabaseObject).Save;
End Sub UserProc;
После выполнения примера будет перерассчитана шкала, исходя из заданного количества интервалов, а также для элементов шкалы будут автоматически настроены градиенты из цветов, заданных для первого и последнего элемента шкалы.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore. Указанная процедура является точкой входа для .NET-сборки.
Imports Prognoz.Platform.Interop.Drawing;
Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.Visualizators;
...
Public Shared Sub Main(Params: StartParams);
Var
Metabase: IMetabase; // Метабаза
EaxAnalyzer: IEaxAnalyzer; // Экспресс-отчёт
BubbleTree: IVZBubbleTree; // Пузырьковое дерево
Scale: IVZDataScale; // Шкала цветов
Color: IGxColor; // Цвет
Brush: IGxSolidBrush;// Кисть для элементов шкалы
Begin
// Получим объект метабазы
Metabase := Params.Metabase;
// Получим объект экспресс-отчёта
EaxAnalyzer := Metabase.ItemById["EXPRESS"].Edit() As IEaxAnalyzer;
// Получим пузырьковое дерево
BubbleTree := EaxAnalyzer.BubbleTree.BubbleTree;
// Получим шкалу пузырькового дерева
Scale := BubbleTree.ColorVisual.ColorMapping.Scale;
// Установим количество интервалов шкалы
Scale.IntervalsCount := 4;
// Создадим аметистовый цвет
Color := New GxColor();
Color.CreateRGB(153,102,204);
// Создадим кисть
Brush := New GxSolidBrush();
Brush.Color := Color As GxColor;
// Зададим кисть для первого элемента шкалы
Scale.First := Brush;
// Создадим васильковый цвет
Color := New GxColor();
Color.CreateRGB(100,149,237);
// Создадим кисть
Brush := New GxSolidBrush();
Brush.Color := Color As GxColor;
// Зададим кисть для последнего элемента шкалы
Scale.Last := Brush;
// Перерассчитаем шкалу
Scale.AutoSetupScaleItems();
// Сохраним изменения, сделанные в экспресс-отчёте
(EaxAnalyzer As IMetabaseObject).Save();
End Sub;
См. также: