DrillCellResult(Row: Integer; Column: Integer): IEaxDrillCellResult;
DrillCellResult(Row: integer; Column: integer): Prognoz.Platform.Interop.Express.IEaxDrillCellResult;
Row. Индекс строки, в которой находится ячейка;
Column. Индекс столбца, в котором находится ячейка.
Метод DrillCellResult возвращает результат детализации данных для указанной ячейки таблицы.
Если детализация не осуществилась, то данный метод вернет значение Null.
В качестве значений параметров Row и Column необходимо передать координаты одной из ячеек, расположенных в шапке или боковике таблицы. При выполнении данного метода будет изменена отметка по измерению, которому соответствует указанная ячейка.
Для проверки возможности детализации данных используйте свойство IEaxGrid.IsCellDrillable.
Для получения результата детализации данных для указанного диапазона ячеек таблицы используйте IEaxGrid.DrillRangeResult.
Для выполнения примера в репозитории необходимо наличие экспресс-отчета с идентификатором «EXPRESS_REPORT». Отчет содержит таблицу.
Добавьте ссылки на системные сборки: Express, Metabase.
Sub UserProc;
Var
MB: IMetabase;
Analyzer: IEaxAnalyzer;
Grid: IEaxGrid;
Begin
// Получим репозиторий
MB := MetabaseClass.Active;
// Получим экспресс-отчет
Analyzer := MB.ItemById("EXPRESS_REPORT").Edit As IEaxAnalyzer;
// Получим таблицу данных отчета
Grid := Analyzer.Grid;
// Произведем детализацию, если она возможна
If Grid.IsCellDrillable(1, 0, EaxDrillType.Down) Then
Grid.DrillCellResult(1, 0);
End If;
// Сохраним изменения
(Analyzer As IMetabaseObject).Save;
End Sub UserProc;
После выполнения примера будет осуществлена проверка на возможность детализации данных по ячейке «B0». Если детализация возможна, то она будет произведена.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.Express;
…
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
Analyzer: IEaxAnalyzer;
Grid: IEaxGrid;
Begin
// Получим репозиторий
MB := Params.Metabase;
// Получим экспресс-отчет
Analyzer := MB.ItemById["EXPRESS_REPORT"].Edit() As IEaxAnalyzer;
// Получим таблицу данных отчета
Grid := Analyzer.Grid;
// Произведем детализацию, если она возможна
If Grid.IsCellDrillable[1, 0, EaxDrillType.edtDown] Then
Grid.DrillCellResult(1, 0);
End If;
// Сохраним изменения
(Analyzer As IMetabaseObject).Save();
End Sub;
См. также: