What to know:
- Search fields should all be "Text", "Text Area", "Pick-List", or "Read-Only".
- In iOS release 8.33 and Android release 8.7 you will be able to use Multi-Select elements in your lookup tables
- In iOS release 8.33 and Android release 8.7 you will be able to use email.
- Search values are case sensitive.
- Table names starting with a numeric value will cause the search to fail.
- Toggle elements are not supported for use with the table search feature.
- Records used for "lookup" data should not be used for any other purpose.
- A smart table can only be added once within a form.
- Supports Text, Text Area, Pick List, Read-Only, Multi-Select, Drawing, and Image elements as return fields. PLEASE NOTE: Using Image and Drawing elements in your lookup tables may cause performance issues when downloading a large number of images to your device. Please test before pushing live to the field.
To create this function, you will be creating two separate forms. One form will store information to be used within another form, this will be your data base. The other form is what the end-user will be using to "look-up" data and will call to the data base that stores the information.
Once you set up STS, as you use it, you might want to edit the "database table". For instance in this case, you might want to add more people to the registration_db, edit some people's names, or even delete some people's information. You can create a new record either on the server or client. You will need to re-sync the device and grab these new records (if delete on upload is enabled, no new records will be downloaded because the server finds they are already on the client. However, it will grab them if these records staying on the device are deleted). New to iFormBuilder 4.5 Edited or deleted records are updated in the "database table" from a re-sync.
Smart Table Search Example
Step 1In order for this feature to work two separate forms need to be constructed. The first form is the form you will want to search within (smart table/lookup). For this example, the form can be considered an Item Database. First begin by creating a form and giving the table name: item_inventory_scan_demo_db
As mentioned earlier, this form should have a unique value. In this example our unique value will be a barcode number. The barcode numbers will be entered by the user from the device side or uploaded beforehand to the data table via CSV. The form below shows an example of how the smart table form (item_inventory_scan_demo_db) should look like. Please note, all these fields will either be "Text", "Text Area", "Pick-List", or "Read-Only". Be sure to remember the data column name (DCN) you enter for each of these elements, as you will need to reference them in the next form.
Create the Item Inventory Form. This form is where the users will scan the item and the fields: Brand of Product, Model Name or Number, Building Name, Additional Notes on Product, Date Added to Inventory and Room Number will automatically be filled in for them, thus saving them time. For this example we copied the database form and changed the table name to: item_inventory_form. This form can include additional fields for the user to input data, such as the Manatee Works element to scan the barcode.
In the element that will be used to look-up content/unique identifier (Barcode Number text field with the data column name barcode_number), click on the element and scroll on the right hand side under Element Properties down to Smart Table Search. Click the 'Assign lookup' button, search for the smart table name, in this case it would be item_inventory_scan_demo_db
This barcode_number element is what will pre-populate the rest of their information. This is the element that will call back to our database form.
After the unique identifier (barcode_number) is calling to the database form in the Smart Table Search, in all of the following elements that you want pre-populated, call to the database by placing the following function structure in the Dynamic Value of the elements on the Item Inventory Form.
Before you sync your device you will want to select a Lookup Record Transaction Size. Hover over the Company Tab and select Company Info. Inside Company Info you will see Lookup Record Transaction Size under the Client Customization section. Select Edit Company Info and you can enter a size for each lookup record transaction from 1-500. This number determines the number of records that are downloaded in a single transaction. Previously records used for Smart Table Search are downloaded one record at a time and now they will be downloaded at up to 500 records at a time greatly decreasing the time it takes to download lookup records.
Next sync your device. You will see the two forms you just created (Item Database: item_inventory_scan_demo_db & Item Inventory Form: item_inventory_form ) appear in the device.
To see if STS is working, open up the Item Database form and enter in all the information. Hit done, and sync. After syncing has completed, sync your device one time more. Open your item Inventory Scan Form, scan or type in the barcode number, and the rest of the fields will populate.