It was suggested that I post to this site the first half of a question I posted on StackOverflow.


I have a data grid (in my situation, Microsoft's .NET platform using WPF) wherein I want the user to be able to add data in the new row at the bottom of the grid. The first few columns of data need valid data to be entered before I can perform required calculations on data entered in the other columns. Therefore, I need the user to enter in the first few columns of data first.

What method / restrictions on input is easiest to understand from the user's perspective? Should I somehow make only these first few columns editable on the new row, while the other columns are disabled? Or should I allow the user to enter information in any column and "cache" the input until the user enters valid data in the first few columns?

I want to avoid using a pop-up dialog to add new rows to the datagrid - I know this solution would allow me to force the user to complete the required fields first and not offer the opportunity to type in any other fields. The flow of the rest of the application uses the "new row" at the bottom of the grid, and I've been encouraged to follow that format.

  • Do the first few cells determine which other cells appear later, or just some calculated results that appear later?
    – Erics
    Jan 17, 2012 at 0:44
  • 1
    The first few cells determine the data in the remaining cells, not which of the remaining cells are visible. The definition of the cells shown is constant at all times.
    – user8978
    Jan 17, 2012 at 14:45

1 Answer 1


Well, you basically answered your own question. =)

Ideally, users should be able to enter data in any order they think is more convenient to them. Thus, you should let them interact with all columns but set your business logic not to perform calculations until the mandatory fields are filled, and don't raise an error until they either request a manual calculation or try to add another row. Also, please don't make the error message a pop-up w/ the Windows error sound; instead, highlight the fields where data is missing and show a tooltip-like message saying, "Please enter data into the highlighted fields to proceed."

You can also disable later fields until the required ones are filled. That will teach the workflow to the users but it might confuse them at first.

  • Makes sense. I try not to enforce arbitrary behaviors on the users, but sometimes I can't see the application from a user's perspective with my developer's hat on. :)
    – user8978
    Jan 18, 2012 at 20:09

Your Answer

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