In https://uxdesign.cc/designing-better-tables-for-enterprise-applications-f9ef545e9fbd there's a section called Multi-select breaks on pagination

Essentially, the idea is that if you can select multiple line items and you implement pagination, the selected items should be persisted.

Is that a good idea? If so, should the persistence be handled by the front-end code or the back-end code?

If the persistence is to be handled by the front-end code, does it mean that I need to load all the data upon first load? (I think that's suboptimal when the data > 10000 data rows or when the data is changed quite frequently)

Or i just need to simply store the selected items id in an array on the frontend?

Or every time an item is selected by a user, that piece of info is saved to the database?

There are pros and cons for each situation, so I hope to get some feedback on this.

3 Answers 3


For emails, you should avoid a situation where you accidentally delete something when you didn't realize it was previously selected. You will let the selection get "lost" more easily. It's technical limitation that actually helps in this case.

That's why gmail lets you select all on one page or all of the search results. The buttons make it clear that you will only delete what's on the page or everything in the list. The key here is what does the user expect when they click that button. When you click one of the action buttons, you won't have to think too hard to calculate or remember that something in memory was previously checked on another page.

For other cases like e-commerce, you use a shopping cart to hold things temporarily. Or for photo organizing (Google Photos), you select things and you "add to album" and continue adding by starting over with a new selection. These would be server side implementations because the user usually navigates around or quits their browser or logs out but you still want them to keep their shopping cart or photo album.


Simple answer for this is, if a user wants to delete items, these items(wholly) should be visible to the eyes where the action is performed.

Some users may want to perform multiple selections across pagination and press delete button after, yet it consumes too much attention. There is no good way to support this situation. Very likely, even the ones who want this feature badly can not perform this action right every time because the cognitive load is widen everytime they jump to another page.

What can be the solution to all these? One of the answers is: It's good to increase rows (100, 200, 300 -user can select) in one page rather than making multiple selections available across pages.


Yes selection should not be retained across pagination because when you are doing a action that could multiple items user should have the clear visibility of all the items that would be affected

Beeter and comoparitively easier approach would be to make more filters so user can narrow down the results and then actions on the same page

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.