AutoAdjust: Boolean;
The AutoAdjust property determines automatic resizing of the specified ranges for the series depending on the executed operations. When rows or columns are inserted, the range is automatically increased and when rows or columns are deleted, the range is decreased.
When the property is set to True, automatic range resizing is enabled. When the property is set to False, it is disabled.
The property is set to True by default.
Executing the example requires a regular report with the REGULAR_REPORT identifier, the first and the second report sheets contain a 3D scene with specific source data in the range B1:D3 and data from 0 to 1 in the range F1:F3. A unit with the Module identifier is added to the report, where the "user" procedure is described that determines sphere (point) radius values and fills cells with selected values with color. Add links to the Chart, Report, Tab, Metabase system assemblies.
Sub UserProc;
Var
MB: IMetabase;
Report: IPrxReport;
s: IPrxScene3D;
Tab: ITabSheet;
a: IScene3DSeriesClickArgs;
ser: IPrxScene3DPointSerie;
Begin
MB := MetabaseClass.Active;
Report := MB.ItemById("REGULAR_REPORT").Edit As IPrxReport;
Tab := (Report.Sheets.Item(0) As IPRxTable).TabSheet;
s := Tab.Objects.Item(0).Extension As IPrxScene3D;
s.Sheet := Report.Sheets.Item(1);
ser := s.Series.Item(0) As IPrxScene3DPointSerie;
ser.X := "B1:B3";
ser.Y := "C1:C3";
ser.Z := "D1:D3";
s.AutoAdjust := False;
s.SerieAction := "Module.user";
a := New Chart3DSerieClickArg.Create;
s.DoSerieClick(a);
(Report As IMetabaseObject).Save;
End Sub UserProc;
The first sheet of the regular report has changed data for the 3D scene, and automatic resizing of the specified ranges is disabled, the specified unit is executed for the first and the second sheets, sphere (point) radii are changed, and radius value cells are filled with the specified color.
The requirements and result of the Fore.NET example execution match with those in the Fore example.
Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Report;
Imports Prognoz.Platform.Interop.Tab;
Imports Prognoz.Platform.Interop.Chart;
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
Report: IPrxReport;
s: IPrxScene3D;
Tab: ITabSheet;
ser: IPrxScene3DPointSerie;
a: Chart3DSerieClickArg = New Chart3DSerieClickArgClass();
Begin
MB := Params.Metabase;
Report := MB.ItemById["REGULAR_REPORT"].Edit() As IPrxReport;
Tab := (Report.Sheets.Item[0] As IPRxTable).TabSheet;
s := Tab.Objects.Item[0].Extension As IPrxScene3D;
s.Sheet := Report.Sheets.Item[1];
ser := s.Series.Item[0] As IPrxScene3DPointSerie;
ser.X := "B1:B3";
ser.Y := "C1:C3";
ser.Z := "D1:D3";
s.AutoAdjust := False;
s.SerieAction := "Module.user";
s.DoSerieClick(a);
(Report As IMetabaseObject).Save();
End Sub;
See also: