recently we've been implementing row selection on all grids in our application. We've implemented persisting the selection and the custom select-all logic that also selects rows from all pages when using pagination according to:
With this logic implemented, we're now running into an issue though. Selecting all rows using the select-all checkbox and afterwards clicking a single row on any page (without using Ctrl):
- selects that single row (expected)
- deselects all other rows on the page (expected), but
- keeps all rows on other pages selected (not expected)
Is there any way to override the selection mechanism to include all pages when selecting a single item via regular click after applying the custom select-all logic? I've tried using the selectionChange event, but since we're adding the other pages' rows via the custom logic above, the provided event data does not contain enough information out of the box to detect whether the user just deselected all rows on a page by selecting a single row.
We could try to figure out whether the user selected a single row by comparing:
pageSize === deselectedRows.length - selectedRows.length
Is there any more elegant way to do this?
When using the KendoGridCheckbox component, by clicking on the checkbox of a row, we can de-/select a single row in addition to the other already selected rows. When clicking a row's cells though, this behavior is inverted, de-/selecting the single row and deselecting all other rows. Is there any way to match the two behaviors without relying on the Ctrl key to do so?