Good morning,
I have data entry screen in the application with the assortment of entry fields, drop downs, check boxes, etc. -- typical. The UI also has a menu bar. Recently few users did complain about the following anomaly. If user types in value 'foo' into the field which had value 'bar' previously and then goes to the menu bar picks up selection<save to DB>, more often the old value "bar" is being written to the database, while interface shows the "foo". If the user moves to the next field via <Tab>, or clicking mouse then new value gets accepted. I am wondering is it a known problem and if it is what the solution ? Thanks in advance. --Mark |
You can send #requestGlobalAutoAccept to the keyboardprocessor of your application before saving the data: self builder keyboardProcessor requestGlobalAutoAccept ifTrue: [...save the changes...] The method comment reads: "Accept any unaccepted edits among the consumers that are set for auto accept, subject to validation. Answer true if all edits are accepted. Otherwise, answer false." -----Original Message----- From: Mark Pirogovsky [mailto:[hidden email]] Sent: dinsdag 6 maart 2007 16:56 To: [hidden email] Subject: Menu bar and entry fields problems [VW 7.3.1] Good morning, I have data entry screen in the application with the assortment of entry fields, drop downs, check boxes, etc. -- typical. The UI also has a menu bar. Recently few users did complain about the following anomaly. If user types in value 'foo' into the field which had value 'bar' previously and then goes to the menu bar picks up selection<save to DB>, more often the old value "bar" is being written to the database, while interface shows the "foo". If the user moves to the next field via <Tab>, or clicking mouse then new value gets accepted. I am wondering is it a known problem and if it is what the solution ? Thanks in advance. --Mark |
Thanks Mark,
I am planning to put that call into one of the methods for the enablement of the menu <Save.. >, so if some data does not pass validation the menu item will not be available... It seem a bit awkward that I have to do that , I have a feeling that UI should accept the field when I am done with it, which is the case here (I am going to the menu bar). I think that this should be treated as a bug - none of the notification/validation methods defined in the UI painter are being fired up in this scenario, they all will happen after the menu was selected and mouse is clicked on the UI outside the field in question... I know it is not that simple, as there are usage patterns where such a behavior would be acceptable. -Mark Mark Plas wrote: > > You can send #requestGlobalAutoAccept to the keyboardprocessor of your > application before saving the data: > > self builder keyboardProcessor requestGlobalAutoAccept > ifTrue: [...save the changes...] > > The method comment reads: > > "Accept any unaccepted edits among the consumers that are set > for auto accept, subject to validation. Answer true if all edits > are > accepted. Otherwise, answer false." > > -----Original Message----- > From: Mark Pirogovsky [mailto:[hidden email]] > Sent: dinsdag 6 maart 2007 16:56 > To: [hidden email] > Subject: Menu bar and entry fields problems [VW 7.3.1] > > Good morning, > > I have data entry screen in the application with the assortment of entry > > fields, drop downs, check boxes, etc. -- typical. The UI also has a > menu bar. Recently few users did complain about the following anomaly. > > If user types in value 'foo' into the field which had value 'bar' > previously and then goes to the menu bar picks up selection<save to DB>, > > more often the old value "bar" is being written to the database, while > interface shows the "foo". > > If the user moves to the next field via <Tab>, or clicking mouse then > new value gets accepted. > > I am wondering is it a known problem and if it is what the solution ? > > Thanks in advance. > > --Mark > > > |
In reply to this post by Mark Pirogovsky-3
Hi Mark,
Be aware that the result of sending this message may be that dialogs pop up (when validating input for instance), so you may not want to use this as an enablement condition for your menu items! -----Original Message----- From: Mark Pirogovsky [mailto:[hidden email]] Sent: dinsdag 6 maart 2007 17:57 To: Mark Plas Cc: [hidden email] Subject: Re: Menu bar and entry fields problems [VW 7.3.1] Thanks Mark, I am planning to put that call into one of the methods for the enablement of the menu <Save.. >, so if some data does not pass validation the menu item will not be available... It seem a bit awkward that I have to do that , I have a feeling that UI should accept the field when I am done with it, which is the case here (I am going to the menu bar). I think that this should be treated as a bug - none of the notification/validation methods defined in the UI painter are being fired up in this scenario, they all will happen after the menu was selected and mouse is clicked on the UI outside the field in question... I know it is not that simple, as there are usage patterns where such a behavior would be acceptable. -Mark Mark Plas wrote: > > You can send #requestGlobalAutoAccept to the keyboardprocessor of your > application before saving the data: > > self builder keyboardProcessor requestGlobalAutoAccept > ifTrue: [...save the changes...] > > The method comment reads: > > "Accept any unaccepted edits among the consumers that are set > for auto accept, subject to validation. Answer true if all edits > are > accepted. Otherwise, answer false." > > -----Original Message----- > From: Mark Pirogovsky [mailto:[hidden email]] > Sent: dinsdag 6 maart 2007 16:56 > To: [hidden email] > Subject: Menu bar and entry fields problems [VW 7.3.1] > > Good morning, > > I have data entry screen in the application with the assortment of > > fields, drop downs, check boxes, etc. -- typical. The UI also has a > menu bar. Recently few users did complain about the following anomaly. > > If user types in value 'foo' into the field which had value 'bar' > previously and then goes to the menu bar picks up selection<save to DB>, > > more often the old value "bar" is being written to the database, while > interface shows the "foo". > > If the user moves to the next field via <Tab>, or clicking mouse then > new value gets accepted. > > I am wondering is it a known problem and if it is what the solution ? > > Thanks in advance. > > --Mark > > > |
Free forum by Nabble | Edit this page |