Filter: IExpression;
Filter: Prognoz.Platform.Interop.ForeSystem.IExpression;
The Filter property returns filtering condition for relational data area rows.
To determine whether relational data area rows are filtered, use the IPrxTableIslandLayout.FilterEnabled property.
Executing the example requires a regular report with the REGULAR_REPORT identifier. A relational data area is placed on the report sheet.
Add links to the Metabase, Report system assemblies.
Sub UserProc;
Var
MB: IMetabase;
Report: IPrxReport;
TabIs : IPrxTableIslands;
TI : IPrxTableIsland;
Layout : IPrxTableIslandLayout;
Begin
MB := MetabaseClass.Active;
Report := MB.ItemById("REGULAR_REPORT").Bind As IPrxReport;
TabIs := Report.TableIslands;
TI := TabIs.Item(0);
Layout := TI.Layout;
If Layout.FilterEnabled = True Then
Debug.WriteLine(Layout.Filter.AsString);
Else
Debug.WriteLine("Relational data area is not filtered");
End If;
End Sub UserProc;
After executing the example it is checked if the relational data area is filtered. The console window displays filtering condition or the message "Relational data area is not filtered".
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;
Report: IPrxReport;
TabIs : IPrxTableIslands;
TI : IPrxTableIsland;
Layout : IPrxTableIslandLayout;
Begin
MB := Params.Metabase;
Report := MB.ItemById["REGULAR_REPORT"].Bind() As IPrxReport;
TabIs := Report.TableIslands;
TI := TabIs.Item[0];
Layout := TI.Layout;
If Layout.FilterEnabled = True Then
System.Diagnostics.Debug.WriteLine(Layout.Filter.AsString);
Else
System.Diagnostics.Debug.WriteLine("Relational data area is not filtered");
End If;
End Sub;
See also: