FindByKey(Key: Integer): IPrxDataSource;
Key. Key of data source used for search.
The FindByKey method searches for and returns an object containing a data source.
The range of keys is used inside the IPrxDataSources collection where each data source is allocated to the key starting with one.
Executing the example requires a regular report with the REGULAR_REPORT identifier that contains data sources. One of the keys has the 1 key. Add links to the Metabase, Report system assemblies.
Sub UserProc;
Var
MB: IMetabase;
MObj: IMetabaseObject;
Report: IPrxReport;
DtSources: IPrxDataSources;
DtSource: IPrxDataSource;
Slice: IPrxSlice;
Begin
MB := MetabaseClass.Active;
MObj := MB.ItemById("REGULAR_REPORT").Bind;
Report := MObj As IPrxReport;
DtSources := Report.DataSources;
DtSource := Report.DataSources.FindByKey(1);
For Each Slice In DtSource.Slices Do
Debug.WriteLine(Slice.Name)
End For;
End Sub UserProc;
After executing the example the console displays slice names contained in the cube with the 1 key.
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;
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
MObj: IMetabaseObject;
Report: IPrxReport;
DtSources: IPrxDataSources;
DtSource: IPrxDataSource;
Slice: IPrxSlice;
Begin
MB := Params.Metabase;
MObj := MB.ItemById["REGULAR_REPORT"].Bind();
Report := MObj As IPrxReport;
DtSources := Report.DataSources;
DtSource := Report.DataSources.FindByKey(1);
For Each Slice In DtSource.Slices Do
System.Diagnostics.Debug.WriteLine(Slice.Name)
End For;
End Sub;
See also: