Table list

Search

Prior to version 302.01 the quick search behaviour was to search all columns in the list. The option is still there, but it's no longer the default behaviour.

When you use the top level bar to search for a text, a list of searchable columns will appear:

quickSearch Figure 1. Quick search.

By selecting one of the items, the advanced search row will appear in the list with the query value in the selected column:

advancedSearch
Figure 2. Advanced search.

Default columns

If you search for something in the quick search without specifying a column, the system will search the column marked as default.
defaultSearch Figure 3. Column default search option.

  • If no column is defined, it will search in the first searchable column.
  • If there is more than one column, there will be a generation error.
  • Genio will suggest the first human key of each column as default columns

Advanced column options

From version 352.00 onwards, Genio supports further customization options for table list columns.

defaultSearchadvancedColumnOptions Figure 4. Advanced column options. Highlighted, in a top-to-bottom order: Searchable, Sortable, Exportable and Column totalizers.

Searchable columns

Setting a column's Searchable field to false excludes it from list's search options, preventing users from filtering the table list by that column.

The following column types are not searchable:

  • Images
  • XML
  • Geographical Coordinates

This feature is available from version 352.00 onwards.

Sortable columns

Setting a column's Sortable field to false prevents users from sorting the table list by that column.

The following column types are not sortable:

  • Images
  • Documents
  • XML
  • Geographical Coordinates

This feature is available from version 352.00 onwards.

Exportable columns

Setting a column's Exportable field to false excludes it from the columns included in document exports.

This feature is available from version 352.00 onwards.

Hidden columns vs. Show-when conditions

List columns can be set to appear hidden by default in the final application by checking the Hidden checkbox shown in Figure 4. This ensures that the column is not shown in the table list itself, but can be made visible by accessing the list's column configuration form (when enabled).

Show-when conditions, when not verified, fully hide the column, making sure that it doesn't appear neither on the list or the column configuration. Nevertheless, the code for the column is still generated, so that it can be used in, for instance, formulas that use row information.

This feature is an adaptation of the previous implementation of column show-when conditions, and is available from version 352.23 onwards.

Column totalizers

When aggregation functions are applied to table columns, they display the sum of each column's record values directly in the table list. When enabled on at least one visible column, a highlighted row appears above the table footer to display these totals.

DBWithTotalizers Figure 5. Regular table list with totalizers enabled in the "Days for return" and "Total value" columns.

As shown above, totalizers are configurable on a per-column basis, allowing users to select which columns should display totals. Additionally, the displayed values account for all records in the database, not just those currently visible on the screen.

DMWithTotalizers Figure 6. Multiple selection table list with totalizers enabled.

When used in multiple selection table lists, totalizers display both the sum for all records and a separate total for the selected records.

Performance considerations

It is important to note that the calculations of these values are done server-side. With that in mind, enabling this feature on tables with massive amounts of records could result in increased loading times and server load. Nevertheless, thorough testing was performed in tables with up to 10000 records with no noticeable performance impact. Moreover, various performance-enhancing mechanisms were implemented:

  • Query optimization: The totalizer calculations are performed together with the record counting query, to avoid unnecessary database accesses.
  • Multiple selection totalizers: In multiple selection lists, selecting records doesn't require database accesses to update the total value. Instead, it relies on a client-side offset mechanism, that adds or subtracts to the server-retrieved value based on row selections.
  • Optional queries: To avoid unnecessary server load, totalizer calculation is only performed if the table has visible or hidden columns with totalizers enabled.
  • Editable table list totalizers: In editable table lists (see Editable table list), since there is no pagination, all calculations are performed client-side, both after the component renders and according to user changes. This avoids excessive or unneeded server access.

This feature is available from Genio 352.15 onwards.