An Object Picker is a control which looks like an ordinary field in run time and allows you to locate and select an object.
There are several types of controls that allow you to locate and select object(s) in Solution Builder, for example:
- Objects Picker (allows you to locate and select multiple objects),
- Hierarchical Picker (allows you to select an object from a hierarchy),
- Related Objects Picker, etc.
All of the above controls inherit the Object Picker, among others, and, therefore, have much in common.
How to Use Object Picker in Run Time
- Click an Object Picker field in run time and start typing the name of the object you would like to add to the field. The control will suggest up to 5 options to select from as you type. If the option you need is not on the suggested list (and you see three dots following the 5 suggested options), click the magnifying glass inside the field to open the Select Object page.
- Use the Search Text field at the top of the page to locate the object you need; then click the object to add it to the object picker field and close the Select Object page. Alternatively, use the ADVANCED search (top right-hand corner of the Select Object page, right above the grid) to locate the object.
- You can sort the grid by any of the grid columns (A-Z or Z-A). You can also scroll down the page and use the paging controls at the bottom to locate the object you need. You can add a new object to the grid from the Select Object page by clicking the Add new + button (if available) in the top right-hand corner of the page and filling out the New Object dialog that appears.
- Click the CANCEL button in the bottom right-hand corner of the Select Object page to close the page without selecting an object.
- Click the Remove X icon in the object picker field to clear the field.
How to Set up Object Picker Control
An Object Picker control, just like any other control in Solution Builder, has its own Control Descriptor (located under Administration > User Interface > Control Descriptors), which defines how the control is set up, what fields the control has, and how it behaves. Users with Admin rights can modify the Control Descriptor, if needed, to suit their specific business needs.
Your next step is to set up the Object Picker control in Layout Designer.
- Locate an existing Object Picker on the canvas in Layout Designer or add a new one from the Toolbox.
- Click the control on the canvas to open up its properties in the right-hand panel. Properties that the Object Picker has in Layout Designer are defined in the Object Picker Control Descriptor (see PROPERTIES tab and the Inherit Controls field under the GENERAL tab).
Object Picker Specific Properties
Value: select the type of objects (e.g. Assets, Services, etc.) users will add to the Object Picker field.
Entity Class: select an entity class for the Object Picker.
Allowed Types: select allowed type(s) for the entity class selected in the above Entity Class field.
Filter Expression: specify a default filter expression for the search results displayed in the Select Object page in run time, if needed. You can set a static value or bind the control with a data model property (from the Model tab).
Allow Reset Filter: select to allow users in run time to reset the filter, i.e. to display all the search results without the default filter expression applied.
Reset Filter Expression: specify an additional filter expression, if needed, to allow users to filter the search results by some additional filtering criteria. If the user selects the Reset Filter checkbox in run time, the Reset Filter Expression specified here will apply to the search results, while the Default Filter Expression specified in the Filter Expression field will not apply.
Column definition: add a data query for the Select Object(s) for entity page.
Object Id: select where to store the Id of the object selected by a user in the Object Picker field in run time.
Display Name: select where to store the Display Name of the object selected by a user in the Object Picker field in run time. You can set up these returned values (Object Id and Display Name) to trigger something else in the application or perform a certain operation, etc.; use the Output panel to save the current state of the control.
Auto-complete is Not Strict: whenever a user types something in the Object Picker field (run time), the control will display results that contain the entered text anywhere, for example, beginning, middle, or end of the name;
- select ‘True’ here if you would like the control to behave as described above;
- select ‘False’ if you would like the control to display only results that start with the text entered into the object picker field.
You can not only set a static True or False value here but also bind the control with a data model property (from the Model tab); in this case, the value of the field (True or False) will change dynamically depending on the value/option of the bound field the user selects in run time.