DrillRangeResult(Range: ITabRange): IEaxDrillRangeResult;
DrillRangeResult(Range: ITabRange): Prognoz.Platform.Interop.Express.IEaxDrillRangeResult;
Range. The cell range that requires a drilldown.
The DrillRangeResult method returns result of data drilldown for the selected range of table cells.
If there was no drilldown, the method returns Null.
The range of cells, located in the table header or sidebar, is to be transferred as the Range parameter. Selected range must correspond to one dimension. On executing the method, selection by dimension to which corresponds the range will be changed. The data aggregation is enabled when the dimension is fixed by the Range elements.
Use the IEaxGrid.IsRangeDrillable property to check whether data can be drilled down.
To get drilldown result for specified table cell, use IEaxGrid.DrillCellResult.
Executing this example requires that the repository contains an express report with the EXPRESS_REPORT identifier. The report contains table.
Add links to the Express, Metabase, Tab system assemblies.
Sub UserProc;
Var
MB: IMetabase;
Analyzer: IEaxAnalyzer;
Grid: IEaxGrid;
Range: ITabRange;
Begin
// Get repository
MB := MetabaseClass.Active;
// Get express report
Analyzer := MB.ItemById("EXPRESS_REPORT").Edit As IEaxAnalyzer;
// Get report data table
Grid := Analyzer.Grid;
// Get cell range
Range := Grid.TabSheet.Cells(0, 0, 1, 2);
// Drill down, if it is possible
If Grid.IsRangeDrillable(Range, EaxDrillType.Down) Then
Grid.DrillRangeResult(Range);
End If;
// Save changes
(Analyzer As IMetabaseObject).Save;
End Sub UserProc;
After executing the example, checking whether data drilldown in the A0:C1 cell range is available is performed. The drilldown is performed if available.
The requirements and result of the Fore.NET Example execution match with those in the Fore Example.
Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.Tab;
…
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
Analyzer: IEaxAnalyzer;
Grid: IEaxGrid;
Range: ITabRange;
Begin
// Get repository
MB := Params.Metabase;
// Get express report
Analyzer := MB.ItemById["EXPRESS_REPORT"].Edit() As IEaxAnalyzer;
// Get report data table
Grid := Analyzer.Grid;
// Get cell range
Range := Grid.TabSheet.Cells[0, 0, 1, 2];
// Drill down, if it is possible
If Grid.IsRangeDrillable[Range, EaxDrillType.edtDown] Then
Grid.DrillRangeResult(Range);
End If;
// Save changes
(Analyzer As IMetabaseObject).Save();
End Sub;
See also: