Creating Filter Pages for Filtering Tables
In C/AL code, you can use the FILTERPAGEBUILDER data type to create a filter page that enables users to set filters on multiple tables. Filter pages contains one or more filter controls, where each filter control can be used to set filters on a specific table. In the Dynamics NAV client, filter pages are generated at runtime and run in a modal dialog box. The following figure illustrates a filter page that filters on the Item table.
To create a filter page, you use C/AL code and the functions that are available for the FILTERPAGEBUILDER data type. The following code example shows the C/AL code that creates the filter page in the figure.
FilterPageBuilder.AddRecord('Item Table', Item); FilterPagebuilder.Addfield('Item Table', Item."No.", '>100'); FilterPageBuilder.PageCaption := 'Item Filter Page'; FilterPagebuilder.RunModal; Item.SetView( filterPagebuilder.Getview('Item Table'));
FILTERPAGEBUILER Data Type Functions
The following table describes the C/AL functions of the FILTERPAGEBUILER data type.
|ADDTABLE Function||Adds a filter control for a table to a filter page.|
|ADDRECORD Function||Adds a filter control for a table to a filter page as specified by a record data type variable.|
|ADDRECORDREF Function||Adds filter control for a table to a filter page as specified by a recordref variable.|
|ADDFIELD Function||Adds a table field to the filter control for a table on filter page.|
|ADDFIELDNO Function||Adds a table field to the filter control for a table as specified by the field number.|
|GETVIEW function (FilterPageBuilder)||Gets the filter view (which defines the sort order, key, and filters) for the record in the specified filter control of a filter page.|
|SETVIEW Function||Sets the current filter view, which defines the sort order, key, and filters, for a record in a filter control on a filter page.|
|RUNMODAL Function (FilterPageBuilder)||Builds and runs the filter page.|
|COUNT Function (FilterPageBuilder)||Gets the number of filter controls that are specified in the FilterPageBuilder object instance.|
|NAME Function (FilterPageBuilder)||Gets the name of a table filter control that is included on a filter page based on an index number that is assigned to the filter control.|