I have a form that is used to bulk edit a set of records. The form shows fields where the user can enter data, and if they do, those new values are applied to the selected records. When editing a single record, there is a checkbox that enables other input fields. The state of that checkbox is also saved as part of the record's data.

My question is how should I handle that checkbox and those conditional fields when bulk editing?

In the example below, if the Cake and Ice Cream inputs are disabled, the user cannot change all Ice Cream orders to Chocolate unless they check the box to enable the field. But checking the box gives Dessert to all selected records, which is not the intention.

If the fields are not disabled, records without Dessert will end up with a value stored for Cake and Ice Cream that they shouldn't have. We can probably manipulate the database to check if a record doesn't have the right option and skip adding the Cake and Ice Cream, but then the interface is misleading when it says you are editing more records than will actually be affected.

(Removing the checkbox is not an option because it has meaning within the real data. We want to know if the person ordered dessert even if they haven't selected Cake and Ice Cream yet.)


  • Is keeping the Cake and Ice Cream field disabled an option? You could probably display a message like "Cake & Ice Cream can't be added in Bulk Mode" for users that check the "Dessert" box in Bulk Mode.
    – msp
    Commented Jul 1, 2014 at 13:39
  • @msparer That is similar to what we've done now which is just hiding the inputs while I figure out a long-term solution. I don't like it because that leaves hundreds or thousands of records that have to be edited by hand, and I'd rather hide them instead of showing disabled inputs that can never be enabled. Commented Jul 1, 2014 at 13:47

2 Answers 2


After talking to our developers about what is possible with our data model, I've proposed a design similar to this:

Revised Mockups

My users are only likely to change a field or two at a time, so instead of showing the entire form with 20 fields, it lets them select the field(s) they wish to edit and ignore the rest.

In the event they select a conditional field I've added a message making it clear that not all rows will be affected.

It also allows them to select the condition field itself for editing if they want to force all people to have dessert.


Hope I'm understanding the question correctly and that this helps.

The tricky part is that this is a bulk edit mode, but the real functionality for editing desserts should be done individually - you just do not want to do that because it is labor intensive to do it one by one.

Here is a rough idea of what I came up with. Essentially is you are still editing the desserts individually, but it is is the context of a smaller group that you have already defined, making it less overwhelming for the user.

enter image description here

As a sidenote, I am assuming that the selecting "RANGE X through RANGE Y" is acceptable for your product (selected ranges will always be in order) but the wording is redundant and there may be a better way to select a range - just something I noticed that may or may not apply.

  • I don't think this will work for my situation. A likely use case could be recording the fact that 1000 people were served chocolate cake. I don't want users to have to click 1000 rows, but I also don't want to alter records for people who didn't order dessert. I think I may have obfuscated my actual data too much. The records themselves have more unique names than "Record 1" and "Record 2" so the selection shouldn't be a problem. And it's far better than the system we have now where you have to type in the name of the first and last record. Commented Jul 9, 2014 at 15:30
  • Cool, your newest proposed solution looks good. Looks like talking to the developers opened up some more flexibility with the design relative to the data model.
    – jvform
    Commented Jul 9, 2014 at 16:17

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.