The ability to filter records that will be included when a Request is run is a critical part of the reporting experience. The Filter Options allows you a very fine degree of control over how you will use a Data Item when it is included in a filter.
Filter Options
Allow Filter:
Yes: This Data Item may be used as a filter in Requests
No: This Data Item may not be used as a filter in Requests
Only: This Data Item may be used only as a filter. It cannot be used as a Data Item on the Request
Filter Value Processing:
Format: Controls the formattingof the Data Item while entering a filter value
Input mask: Specifies the Input Mask for the Data Item. Together with the Format these fields control the formatting of the Data Item while entering a filter value
Validation: Entering a Validation expression allows you to ensure that the end user enters a valid value in the filter value. Press F2 to access the Foxfire! Expression Builder
When: Specifies an expression to be evaluated prior to starting data entry for this filter value. This could be used to activate a data entry form or some other tool to assist the end user
Transform: Specifies an expression to Transform the formatting of the user entry into a format that will exactly match the data format in the table, such as making the value upper case
Empty Value OK: Allows the user to filter this field on an empty value
Nulls OK: Allows the user to filter this field on a null value
Prompt to Trim Spaces: Prompts the end user to ask if they want to trim trailing spaces from the filter value. This will facilitate a ‘partial’ match
Value must be in xxx: Enables the use of the custom filter control to implement a pick list
Allow user to browse values: Allows the user to browse fields in the underlying table to pick a valid value. This can be very slow when using a large table.
Custom Filter Value Control Settings:
Control Class: Specifies the Control Class to be invoked when end user is entering a filter value for this field
Adder Subclass: Specifies the Adder Subclass used to bind entry of this filter value to the Control Class specified above
Control Properties: Allows you to specify properties for use in the control class. These must be entered in the form .property=value
Filter Expression:
Optimized: Specifies if this field is Optimizable. If checked you must also fill in the Using Tag Name field
Using Tag Name: The name of the index tag used to optimize this field
Override “Exactly Like”: Prevents “exactly like” comparisons. This is used when you have a concatenated field like make + model but you want to be able to match a filter value of FORD. This filter will give you all Fords with this box checked. Without checking this box, you will get no records selected since nothing will match
Filter (Where) Expression: Specifies the expression to be used for the Data Item in the generated SQL WHERE clause. Use this for non-optimized filters only. The expression will be set automatically for Optimized filters based on the Tag Name
NOTE on Merge Tokens: Foxfire! provides a merge tokens *Value* for use in two fields in the Filter Value Processing section of the Filter Options dialog:
- Validation
- Transform
Use *Value* merge token to take a user-entered filter value and include it in a complex expression or UDF for processing by Foxfire!
The way to use this is relatively simple. If you have a key expression: DTOS(pay_date) you want the queries entered by the user to be optimizable in VFP. IN Transform you would enter: DTOS(*VALUE*).
See also
Original Data Item Editor | Advanced Options | Calculation Options | Graphics Support | Custom Filter Classes
Last Updated: 08/15/09