Sorter: ILanerSorter;
Sorter: Prognoz.Platform.Interop.Laner.ILanerSorter;
Свойство Sorter возвращает параметры сортировки рабочей книги.
В рабочей книге доступно 2 вида сортировки:
сортировка по значениям наблюдений показателей. Используйте интерфейс ILanerSorterData;
сортировка по значениям атрибутов показателей. Используйте интерфейс ILanerSorterHeader.
Для выполнения примера предполагается наличие формы, содержащей компонент LanerBox с и компонента UiErAnalyzer с идентификатором «UiErAnalyzer1», являющегося источником данных для LanerBox. В «UiErAnalyzer1» должна быть загружена рабочая книга базы данных временных рядов.
Sub UserProc;
Var
Laner: ILaner;
Ls: ILanerSorter;
DataSort: ILanerSorterData;
DimElement: Integer;
Dir: LnSortDirection;
Begin
Laner := UiErAnalyzer1.ErAnalyzer.Laner;
Ls := Laner.Sorter;
// Получаем параметры сортировки данных
DataSort := Ls.SeriesDataSort;
// Изменяем направление сортировки
If DataSort.Count > 0 Then
DimElement := DataSort.CalendarElement(0);
Dir := DataSort.SortDirection(DimElement);
If Dir = LnSortDirection.Ascending Then
DataSort.SortDirection(DimElement) := LnSortDirection.Descending;
Else
DataSort.SortDirection(DimElement) := LnSortDirection.Ascending;
End If;
End If;
End Sub UserProc;
Результат выполнения процедуры: если в рабочей книге была задана сортировка данных, то её направление будет изменено на противоположное.
Для выполнения примера предполагается наличие формы, содержащей компонент LanerBoxNet с и компонента UiErAnalyzerNet с идентификатором «UiErAnalyzerNet1», являющегося источником данных для LanerBoxNet. В «UiErAnalyzerNet1» должна быть загружена рабочая книга базы данных временных рядов.
Imports Prognoz.Platform.Interop.Laner;
…
Public Sub UserProc();
Var
Laner: ILaner;
Ls: ILanerSorter;
DataSort: ILanerSorterData;
DimElement: uinteger;
Dir: LnSortDirection;
Begin
Laner := UiErAnalyzerNet1.ErAnalyzer.ErAnalyzer.Laner;
Ls := Laner.Sorter;
// Получаем параметры сортировки данных
DataSort := Ls.SeriesDataSort;
// Изменяем направление сортировки
If DataSort.Count > 0 Then
DimElement := DataSort.CalendarElement[0];
Dir := DataSort.SortDirection[DimElement];
If Dir = LnSortDirection.lsdAscending Then
DataSort.SortDirection[DimElement] := LnSortDirection.lsdDescending;
Else
DataSort.SortDirection[DimElement] := LnSortDirection.lsdAscending;
End If;
End If;
End Sub UserProc;
Результат выполнения процедуры: если в рабочей книге была задана сортировка данных, то её направление будет изменено на противоположное.
См. также: