To do a keyword search across multiple fields, you will need to separate the report into two DataPages; a form and a report, and pass values from the first to the second using virtual fields. Follow the steps below to separate your search and report using virtual fields.
In your submission form insert one virtual field for your keyword search and pass it as a parameter to the next DataPage. In your Report DataPage use the predefined criteria (i.e. no search form) option. Then configure it to use the field passed from the previous DataPage as a search parameter in all the relevant fields. The Logical operator between the keyword search fields must be “OR”.
Example: In a CRM application you want a simple search form with one text field where the user can enter a record id, a person’s name, or a person’s email address, or a company name and use the same value to search across the ID, Name, Email and Company fields.
- In your submission form, add a virtual field and pass it to the next page as [@str].
- In your report DataPage use predefined criteria instead of a search form and select ID, Name, Email and Company as your criteria fields.
- In the filtering fields configuration, for each field select the comparison type as “Contains” and enable receiving parameter as [@str] so all of them receive the same value.
- Configure the logical operator between these fields to OR in the Logic tab.
If you need more search fields in your search form, you can insert more virtual fields. The virtual fields should pass their values as parameters to the report page. If the search fields should narrow down the results, choose AND operator between them in the Logic tab.