This seems to me like one of those things that should have been implemented a long time ago. Disabling Grid Edit altogether is not feasible for our business because users need to do updates on large amounts of records at once. I would imagine most businesses are in the same situation.
First, let me thank you for participating in the QuickBase Community. Unfortunately, you are correct that there is no way to enforce form rules in grid edit. The reason is that form rules can only be triggered when the form in question is opened. Since grid edit bypasses the form(s) altogether, the rules associated with individual forms can't be applied.
Depending on the nature of the rules you're using, it may be possible to replace some of them with formulas using if() statements and get similar functionality to rules. However, for many of the functions performed by form rules, this wouldn't be possible.
I see you've already added your support to the appropriate thread at User Voice, which will help our Product Development team understand the scope of the need and increase the chance that they will address the need in a future release.
Thanks again, and I'm sorry that I don't have a better answer for you at this time.
QuickBase Cares Team
You say you've had some experience here. Is what I'm asking feasible? The form rules work well for this, but when my users are updating many records in a day, it makes sense to use Grid Edit.
My suggestion for the example you raise is to rename your [Status] field to be called [Status input] and to have a second field of type formula-text called [Status] which would be used almost everywhere except data entry.
The formula for Status would be
IF(not IsNull([Shipping Date]), "Shipped",[Status entry])
I think what you would need to do is a combination of fields.
"Final Order Status" (formula text)
"Choose Order Status" (current multiple choice field)
"Shipping Date" (Current date field)
The "Final Order Status" field is what you will use to display / view / report on the status. The "Choose Order Status" field is used to choose one of the four statuses other than "shipped".
You would set the formula for the "Final Order Status" field to :
if ( isnull ( [Shipping Date] ) , [Choose Order Status] , "Shipped"
What this says is that if the shipping date is blank, the final status will be whatever status is currently set from the drop down box. If there is a date in the shipping field, the status sets itself to "shipped".
In this case, you could still have "shipped" as a dropdown option if for some reason you have a situation in which you want to have a status of "shipped" even if you don't know the shipping date. If you only want the status to say "shipped" when a shipping date is put in, you would remove it from the dropdown options.
All make sense?