Perhaps in general it is best to also have client side validation, but in this case each column can have custom validation rules (including "unique", which needs to compare all other data). This needs to be (and already is) validated on the server side, and would be non-trivial to add to the client.
Besides, it's not just the validation errors (although they are more common). Any other small screen update that updates text elements also removes the editor focus (ie current status, log messages - these run asynchronously in the background). Grant --- In [email protected], Scott - FastLane <[EMAIL PROTECTED]> wrote: > > In general it seems it would be preferable to validate user input on the > client side... if you did this you could use the errorString of the > itemEditorInstance to show the error to the user without having to wait > for the back end, etc. When you do this the error is shown in the cell > where the invalid value was entered (it's a pretty nice feedback mechanism). > > The following is a code snippet from a DataGrid itemEditEnd event > handler where check with a CurrencyValidator to see if user input is > valid... if not the errorString is set. > > var valueStr:String = > event.currentTarget.itemEditorInstance.text; > var result:ValidationResultEvent = > this.currencyValidator.validate(valueStr, true); > if(result.results != null && result.results.length > 0) > { > event.currentTarget.itemEditorInstance.errorString = > "Value must be valid currency. ($ddd.cc) dollar sign is optional."; > event.preventDefault(); > } > else > { > //commit the user edited value... > } > > hth > Scott > > grantdotcox wrote: > > > > I have a datagrid with editable cells. When the user changes a value > > this is saved to the server. When the server identifies a validation > > error on the new data, their change is undone, and a warning message > > is shown outside of the grid. > > > > Unfortunately, showing this warning message outside of the grid > > (updating the text attribute of a Label), will always cause the > > currently editing cell to lose focus. In fact, anything that updates > > the screen will do this. This can be annoying, as I want other screen > > elements to update etc (without becoming focussed themselves), but not > > taking the focus away from what the user is currently editing. > > > > Any ideas? > > > > >

