Client Survey
| Id | Name (Link) | Surname | Gender | Mobile | Age | Last Updated On |
|---|
This exercise upgrades the list view to support cross-page selection and bulk permanent deletion, simulating a professional administrative interface for managing records.
NOTE: The global selection and multi-page logic are implemented, but the Bulk Delete button is configured for **Permanent Delete** (Hard Delete), which was the final state before the last feature request (which is not implemented here).
List Setup & Pagination:
- The list is paginated (5 records per page) and sorted by Name (Ascending).
- The default data set is large enough to span at least two pages.
- A checkbox column is added to the table with a Select All header checkbox.
Global Selection & State Management:
- Global Selection: When the Select All checkbox is checked, it must select all records in the currently filtered set, regardless of which page they reside on.
- Cross-Page Persistence: Navigating between pages must maintain the selection state of previously selected records.
- Dynamic Select All: The Select All header checkbox must dynamically check/uncheck based on whether all records in the current filtered set are selected. Unselecting any record on any page should uncheck the master selector.
- Delete Button Count: The Delete Selected button must accurately display the total number of records selected globally (across all pages).
Bulk Delete Functionality:
- A Delete Selected button is placed near the search bar.
- The button executes a Permanent Delete (Hard Delete) operation, removing all records whose IDs are in the global selection set.
Hint (OutSystems): The solution uses a JavaScript Set to maintain the selected identifiers (IDs) independently of the screen's pagination or filtering actions.
Practice with Ankit | Form and DB Operations