Add(Value: IPPSpeedometerTrend): Integer;
Add(Value: Prognoz.Platform.Interop.Speedometer.PPSpeedometerTrend): integer;
Value. Добавляемый тренд.
Метод Add добавляет тренд в коллекцию.
Для выполнения примера предполагается наличие в репозитории аналитической панели с идентификатором «ADHOC». Аналитическая панель должна содержать спидометр.
Добавьте ссылки на системные сборки: Adhoc, Express, Metabase и Speedometer.
Sub UserProc;
Var
Speedometer: IPPSpeedometer;
MB: IMetabase;
AdhocReport: IAdhocReport;
EaxSpeedometer: IEaxSpeedometer;
Enalyzer: IEaxAnalyzer;
DsObjs: IAdhocDataSourceObjects;
Scales: IPPSpeedometerScales;
Scale: IPPSpeedometerScale;
Trends: IPPSpeedometerTrends;
Trend: IPPSpeedometerTrend;
Marker: IPPSpeedometerMarkerBase;
Begin
MB := MetabaseClass.Active;
// Получим аналитическую панель
AdhocReport := MB.ItemById("ADHOC").Edit As IAdhocReport;
// Получим источники данных аналитической панели
DsObjs := AdhocReport.DataSourceObjects;
// Получим спидометр
Enalyzer := DsObjs.Item(0).GetSourceObject As IEaxAnalyzer;
EaxSpeedometer := Enalyzer.Speedometer;
// Получим параметры спидометра
Speedometer := EaxSpeedometer.Speedometer;
// Получим коллекцию шкал спидометра
Scales := Speedometer.Scales;
// Получим шкалу данных
Scale := Scales.DataScale;
// Получим коллекцию трендов
шкалы
Trends := Scale.Trends;
// Выведем количество имеющихся трендов
Debug.WriteLine("Трендов в коллекции до удаления: " + Trends.Count.ToString);
// Удалим все имеющиеся тренды
Trends.RemoveAll;
// Создадим новый тренд
Trend := New PPSpeedometerTrend.Create;
// Установим значение тренда
Trend.Value := 15000;
// Установим текст,
отображаемый в текстовой метке тренда
Trend.Label.Text := "Точка невозврата";
// Установим копию центрального маркера спидометра в качестве маркера тренда
Marker := Speedometer.Center;
Trend.Marker := Marker;
// Добавим настроенный тренд в коллекцию
Trends.Add(Trend);
(Enalyzer As IMetabaseObject).Save;
End Sub UserProc;
В результате выполнения примера в окно консоли будет выведен размер коллекции трендов, после чего коллекция будет очищена. Будет создан новый тренд, настроены значение, текст, маркер тренда. Новый тренд будет добавлен в коллекцию трендов.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.AdHoc;
Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.Speedometer;
…
Public Shared Sub Main(Params: StartParams);
Var
Speedometer: IPPSpeedometer;
MB: IMetabase;
AdhocReport: IAdhocReport;
EaxSpeedometer: IEaxSpeedometer;
Enalyzer: IEaxAnalyzer;
DsObjs: IAdhocDataSourceObjects;
Scales: IPPSpeedometerScales;
Scale: PPSpeedometerScale;
Trends: IPPSpeedometerTrends;
Trend: IPPSpeedometerTrend;
Marker: IPPSpeedometerMarkerBase;
Begin
MB := Params.Metabase;
// Получим аналитическую панель
AdhocReport := MB.ItemById["ADHOC"].Edit() As IAdhocReport;
// Получим источники данных аналитической панели
DsObjs := AdhocReport.DataSourceObjects;
// Получим спидометр
Enalyzer := DsObjs.Item[0].GetSourceObject() As IEaxAnalyzer;
EaxSpeedometer := Enalyzer.Speedometer;
// Получим параметры спидометра
Speedometer := EaxSpeedometer.Speedometer;
// Получим коллекцию шкал спидометра
Scales := Speedometer.Scales;
// Получим шкалу данных
Scale := Scales.DataScale;
// Получим коллекцию трендов
шкалы
Trends := Scale.Trends;
// Выведем количество имеющихся отметок
System.Diagnostics.Debug.WriteLine("Трендов в коллекции до удаления: " + Trends.Count.ToString());
// Удалим все имеющиеся тренды
Trends.RemoveAll();
// Создадим новый
тренд
Trend := New PPSpeedometerTrend.Create();
// Установим значение тренда
Trend.Value := 15000;
// Установим текст,
отображаемый в текстовой метке тренда
Trend.Label.Text := "Точка невозврата";
// Установим копию центрального маркера спидометра в качестве маркера тренда
Marker := Speedometer.Center;
Trend.Marker := Marker As PPSpeedometerMarker;
// Добавим настроенный
тренд в коллекцию
Trends.Add(Trend As PPSpeedometerTrend);
(Enalyzer As IMetabaseObject).Save();
End Sub;
См. также:
Связанные записи
Требование