Sorting, Searching and Filtering

Evoke provides the option for you to give your users the ability to Search, Sort or Filter any DataGrid (UI Table) that you populate with data. The image on the right show where the option appears in the deployed App.
To Enable searching, sorting and filtering for an App user:
  • First, you must have a Refined DataSource

  • In the Template for the data grid, in General settings check the boxes (see image below):

    • Column sort enabled and/or

    • Column Filter enabled

When you check the column sort or column filter enabled options the message "Please ensure that all page segments using this template are bound onto a refined datasource" will appear and app validation (in the generation of an app design) will check and warn you if they are not refined datasources.

When using the App, the user will see the menu shown allowing them to sort, search or filter. There is also a "Column Filters Help" option which will display, within the app, the Grid Filter Operators to help the user.
If standard data paging is used then the search or sort will only operate on the data retrieved to the app through the paging and not on the backend database file data. If you want to use data paging with Searching, sorting and filtering please see the information about PagingUIOnly below.

Sorting AlphaNumeric data in columns as Numeric data
If you want to sort on an AlphaNumeric field as if it were a number then use the Template Widget option Numeric Coercion - (available in multi entity data grids only and only on AlphaNumeric properties). When checked this forces Evoke to see an alphanumeric number as a numeric number when sorting is used on the datagrid.

Data Paging and Search, Sort, Filter
The Searching, Sorting and Filtering on this page and the Evoke data paging options options may be considered mutually exclusive. This is because if "pages" of data are downloaded individually then a search or sort on that page will only be on that page not the whole datasource. However, there are examples where the communications environment is fine for a large datasource and it is the rendering of thousands of records in the UI that takes the time.
In this case the data paging option PagingUIOnly may be used in conjunction with the Searching, Sorting and Filtering on a multi entity datasource/table.
The PagingUIOnly option means that all the data requested from the database will be passed to the app but the UI will be rendered in pages, with the first page being rendered first and the remaining pages rendered after the first page is displayed. In this way the Search, Sort and filter options are available across the whole data source.
.