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.
Function | Description |
---|---|
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. |