Skip to main content

Lookup How To's

How to's for the Lookup guide.

What Is Lookup?

What Is Lookup?

A Lookup is a special form component that displays values coming from a data source—or added manually by the developer—in a table format, and allows the user to select one or more rows from that table.

While list-based controls like ComboBox or Dropdown are suitable for small datasets, they fall short when dealing with large data.
For this reason, Lookup is preferred for managing multi-column, large datasets.

Where Is Lookup Used?

Lookup is the ideal solution in the following cases:

  • When the data source contains a large number of records
  • When the user must see multiple column details before making a selection
  • When advanced table features like search, filtering, sorting, and paging are required
  • When the user needs a more detailed list to select the correct record
  • When values of other form components must be updated based on the selected Lookup record

Key Features of Lookup

FeatureDescription
Table ViewData is displayed as a column-based table, not as a simple list.
FilteringFilters can be applied per column.
SortingThe user can sort by clicking column headers.
PagingLarge datasets can be displayed page by page.
SearchUsers can search across all columns.
Single / Multi SelectionUsers can select one or multiple rows.
Column GenerationColumns can be automatically generated from the DataSource.
Column MappingDataSource fields can be mapped to Lookup columns.

How to Add the Lookup Form Component

  1. Open the Toolbox panel in the form designer.
  2. Drag and drop the Lookup component onto the form.
  3. When selected, the Property Viewer panel displays:
    • General (Appearance)
    • Events Both sections can be configured as needed.

Why Choose Lookup?

  • Makes large datasets easy to view and navigate
  • Helps users select the correct record
  • Provides a clear, organized, and readable structure
  • Allows exploration of data through filtering, sorting, and searching
  • Best suited for complex selection scenarios

How To Use Lookup?

Lookup – How to Use It?

The steps below describe how to add a Lookup component to a form, bind it to a data source, and enable selection functionality.

1. Adding the Lookup Component to the Form

  1. Open the form design screen.
  2. Locate the Lookup component in the Toolbox panel.
  3. Drag and drop it onto the form.

2. Selecting the Data Source

  1. When the component is selected, open the General (Properties) tab.
  2. Choose the data source using the DataSource property.
  3. To automatically create Lookup columns based on the data source fields:
    • Click Columns → “Generate Columns”.

3. Configuring Columns

For each generated column, you can configure:

  • Display name
  • Width
  • Filtering support
  • Sorting
  • Marking primary key

Note: If the primary key is not selected, issues may occur when selecting duplicate records.

4. Setting the Selection Mode (Single / Multiple)

In the Selection Settings section:

  • Mode = Single → Single selection
  • Mode = Multiple → Multiple selection

can be configured.

  • Filtering Settings → Enabled = True → Adds filter controls to each column
  • Searching Settings → Enabled = True → Shows a search bar at the top

6. Paging Settings

  • Enabled → Enables paging
  • Paging Size → Number of rows shown per page
  • Current Page → Starting page index

Recommended for large datasets to improve performance.

Example

Example for selecting an employee:

PropertyValue
DataSourceHR_EMPLOYEE_DS
ModeSingle
Display MemberFullName
Value MemberEmployeeId

Final Result

The Lookup now displays data in a table view and allows the user to select a record and pass selected values into form fields.

These steps complete the basic setup of the Lookup component.


How to Enable Selection

What Do I Need to Do to Enable Selection in a Lookup Object?

In order for users to be able to select data in a Lookup object, some required fields must be configured correctly.
If these fields are not defined, the Lookup may open, but selection cannot be made or the selected value will not be displayed on the form.

DataSource Selection

As the first step, you must define which source the Lookup object will retrieve its data from.

Steps:

  1. Add the Lookup object to the form
  2. Locate the DataSource field in the Properties panel
  3. Select the data source that contains the records to be selected

Other fields will not work properly unless a DataSource is selected.

Value Expression Field

Value Expression defines which field of the selected record will be stored as the actual value in the form.

  • Usually an ID, Primary Key, or a unique field is selected
  • This value is stored in the background

Example:

ID

----
### **Purpose?**

### Lookup – What Is Its Purpose?

The Lookup component is designed to present large datasets to the user in an organized table format and enable `fast and accurate selection`.

If the dataset contains more columns or records than can be handled by a ComboBox, Lookup becomes the appropriate choice.


### Why Use Lookup?

### To display large data sources
Even 10,000+ records can be managed efficiently in table view.

### To present multi-column data
Example fields:
- Personnel No
- Full Name
- Department
- Position
- Date
- Status

### Filtering and search support
Column-based filtering makes it easier to find records.

### Performance
Supports paging, filtering, and sorting—ideal for handling large datasets.

### User experience
A table structure is more readable and intuitive than a list.


### When Should Lookup Be Preferred?

| Situation | Recommendation |
|----------|----------------|
| Low number of records and single-column display | `ComboBox` is sufficient |
| Many columns and thousands of records | `Lookup should be used` |
| User needs filtering capabilities | `Lookup` |
| Multi-selection required | Lookup is more suitable |
| Excel-like table experience desired | Lookup |

### Example Use Cases

- Employee selection screens
- Product / stock search tables
- Customer / account selection lists
- Location, project, supplier, or department selection
- Any form requiring multi-column data presentation


### Summary

Lookup is a powerful selection component used in Synergy form design to present `large and multi-column datasets` to users in the most efficient way.

----
### **How to Use Client Enabled?**

### What is Client Enabled?

`Client Enabled` is a property that defines whether a ``form control is active (enabled)`` on the client side when the form is first loaded.
If it is set to `True`, the control is immediately usable by the user.
If it is set to `False`, the control is disabled and cannot be interacted with until a specific condition or rule activates it.

This property is especially useful for controlling the ``user’s interaction flow`` and applying dynamic behaviors using the ``Rule Manager``.

### What Does It Do?

The property allows developers to:
- Control when a form control becomes interactive.
- Prevent users from entering or changing data until prerequisites are met.
- Dynamically enable or disable controls based on user input or logic.

### Example Scenario — Conditional Activation

``Scenario:``
A form contains a checkbox called ``“I Accept Terms”`` and a text field called ``“Signature.”``
The goal is to make the “Signature” field ``inactive`` until the user checks “I Accept Terms.”

#### Steps to Implement:

1. ``Select the “Signature” field`` in the form editor.
2. In the ``Properties`` panel, find the `Client Enabled` field.
3. Set the value to ``False`` — the field will now be disabled by default when the form loads.
4. Open the ``Rule Manager``.
5. Add a new rule:

``Condition:``

``Action:``

6. Save and publish the form.

#### Result:
- When the form loads, the “Signature” field is disabled.
- Once the user checks “I Accept Terms,” the field automatically becomes active and editable.

### Behavior Summary

| Property State | Description |
|----------------|--------------|
| `True` | The control is active and ready for user interaction when the form loads. |
| `False` | The control is disabled at load time and can be enabled dynamically via rules or code. |

### Notes & Best Practices

- Use the `Client Enabled` property to manage ``client-side interactivity`` without requiring server actions.
- Combine it with ``Rule Manager`` to define when and how controls become active.
- Remember: if ``server enablement`` is disabled, the client cannot enable the control even if `Client Enabled` is set to `True`.
- By default, this property is set to `True` (active).

### Summary

`Client Enabled` improves form usability by letting developers control ``when`` and ``how`` users interact with form controls.
It is essential for creating responsive, condition-based form experiences where user actions dynamically change the form’s state.