I have a large table (some 100 rows) for setting user permissions. Each set of permissions has a set of 4 possible items, which in many cases will all be checked but not by default. For efficiency we would like to include some sort of "Select All" functionality that allows the user to set the whole row. Initially this was solved with a checkbox but there are concerns from others on how easy this will be to hook up and make it work properly on the back end. What is the best practice for selecting/deselecting an entire row of checkboxes?

enter image description here


2 Answers 2


I would have a fist checkbox called something more descriptive like "All permissions" or "Admin". I would then make the other checkboxes visible (or active) based on whether that checkbox was selected.

This should be fairly easy to implement, and should be visually clear and fast to scan.

Example mockup:
enter image description here

  • 5
    Hiding the check boxes for implicitly checked items doesn´t sound like a good idea to me. It hides the real meaning of All/Admin, and it makes scanning a column for permissions harder. I'm not even sure disabling them as you do in your first example is helpful. Why not auto-uncheck the Admin check if any of the others is unchecked, and auto (re-)check it if all other boxes in the row are checked?
    – André
    Mar 14, 2013 at 14:03
  • @André I prefer the hidden option if scannability is the primary issue, and the disabled if you want to make it clear what admin is. Auto checking instead of disabling is a good option, but I would test that first, as it isn't obvious to me which would be more clear.
    – JohnGB
    Mar 14, 2013 at 14:42

Is the concern about implementation or UI clarity? I can't see why a "Select Full Row" option should be any harder to implement than the rest.

A sugesstion might be to somehow highlight the last column a bit differently than the rest since it performs a function somewhat larger than the rest too. I'd almost be tempted to make that "Select Full Row" a button than a check box. The button when pressed could indeed select every option and then turn itself into a "Deselect Full Row" button.

If you like you might also provide a button that does "Invert All" if it makes sense in your scenario.

How this changes your implementation I do not know; but as UI I like this better. Functionally, the button can thus change multiple settings whereas a tick box is always unique to controlling it's own Column. I feel that's a neater separation.

The risk otherwise is something like this scenario: User wants to verify that no one has a "Create" permission. So he visually scans Column One and sees no tick marks. He's lulled into a sense of safety whereas some users might have that last column ticked.

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.