Express > Интерфейсы сборки Express > IEaxObjectSelection > IEaxObjectSelection.Matrix
Matrix: IMatrix;
Matrix: Prognoz.Platform.Interop.Matrix.IMatrix;
Свойство Matrix возвращает матрицу данных, соответствующую областям, которые выделены в объекте.
Для получения отметки, соответствующей всем областям, выделенным в объекте, используйте свойство IEaxObjectSelection.Combined.
Для выполнения примера в репозитории предполагается наличие экспресс-отчета с идентификатором «EAX_SEL_MANAGER». Данный отчет должен содержать таблицу, в которой выделено несколько областей.
Добавьте ссылки на системные сборки: Express, Matrix, Metabase.
Sub UserProc;
Var
mb: IMetabase;
Report: IEaxAnalyzer;
SelManager: IEaxObjectSelectionManager;
ObjSel: IEaxObjectSelection;
Matrix: IMatrix;
Iter: IMatrixIterator;
Begin
// Получаем текущий репозиторий
mb := MetabaseClass.Active;
// Получаем экспресс-отчет
Report := mb.ItemById("EAX_SEL_MANAGER").Bind As IEaxAnalyzer;
// Получаем объект для работы с отметкой, по которой строится таблица данных
SelManager := Report.Grid.SelectionManager;
// Получаем отметку в таблице
ObjSel := SelManager.Selection;
If ObjSel.Count > 0 Then
// Выводим данные, соответствующие областям, выделенным в таблице
Matrix := ObjSel.Matrix(ObjSel.Item(0));
Iter := Matrix.CreateIterator;
Iter.Move(IteratorDirection.First);
While Iter.Valid Do
Debug.WriteLine(Iter.Value);
Iter.Move(IteratorDirection.Next);
End While;
End If;
End Sub UserProc;
В результате выполнения примера в окно консоли будут выведены данные, соответствующие областям, выделенным в таблице.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.ForeSystem;
Imports Prognoz.Platform.Interop.Matrix;
…
Public Shared Sub Main(Params: StartParams);
Var
mb: IMetabase;
Report: IEaxAnalyzer;
SelManager: IEaxObjectSelectionManager;
ObjSel: IEaxObjectSelection;
Matrix: IMatrix;
Iter: IMatrixIterator;
Begin
// Получаем текущий репозиторий
mb := Params.Metabase;
// Получаем экспресс-отчет
Report := mb.ItemById["EAX_SEL_MANAGER"].Bind() As IEaxAnalyzer;
// Получаем объект для работы с отметкой, по которой строится таблица данных
SelManager := Report.Grid.SelectionManager;
// Получаем отметку в таблице
ObjSel := SelManager.Selection[True];
If ObjSel.Count > 0 Then
// Выводим данные, соответствующие областям, выделенным в таблице
Matrix := ObjSel.Matrix[ObjSel.Item[0]];
Iter := Matrix.CreateIterator();
Iter.Move(IteratorDirection.itdFirst);
While Iter.Valid Do
System.Diagnostics.Debug.WriteLine(Iter.Value);
Iter.Move(IteratorDirection.itdNext);
End While;
End If;
End Sub;
См. также: