It happens that I am struggeling with the same problem right now (populating the SelectBox through a rpc-call and having the event handler already attached).
I guess one work-around would be to add a flag to the SelectBox with setUserData, setting it to 'loading' at the start of the rpc-call setting it to 'done' in the rpc-callback after the loading is done. And have the event handler check for the flag with getUserData and have it ignore the event while 'loading". Cheers, Fritz On Thu, 30 Jul 2009, John Spackman wrote: > Sure, but that doesn?t change my point ? the SelectBox fires > changeValue/changeSelected events because you haven?t finished populating > the list yet. > > EG if you have 6 items (?Item1? to ?Item6?) and you want ?Item3? to be the > selected one ? you will get two changeValue/changeSelected events, one > during population of the list for ?Item1? and one as you bind data to it > for ?Item3?. And it?s not consistent because if you _do_ happen to want > to set ?Item1? as selected, you will only get one > changeValue/changeSelected event for ?Item1? during population of the > list....and before you have bound all the rest of your data to the form. > > You could preserve the behaviour as you described it by always explicitly > setting the selection in code ? and if Qx adds a selectionMode property to > SelectBox that allows ?single? or ?one? (and which defaults to ?one?) then > it is backwards compatible and the event handling can be predictable. > > John > > From: Gene Amtower [mailto:[email protected]] > Sent: 30 July 2009 13:58 > To: qooxdoo Development > Subject: Re: [qooxdoo-devel] Selection mode for SelectBox > > > > This item has been discussed on the list previously, and as I think about > it now, this is normal HTML behavior. In my web development of forms in > plain HTML, I always had to insert a non-value entry first that instructed > the user to select an entry to get around this HTML behavior. I think the > same should be done in your Qooxdoo code to avoid non-standard behaviors > with single-height picklists. Otherwise, you risk confusing the user who > is used to seeing the standard behavior of the first entry being the > default entry. > > HTH, > > Gene > > > On Thu, 2009-07-30 at 13:12 +0100, John Spackman wrote: > > Hi, > > The SelectBox control always wants to have at least one item selected at > all times, because the list which it creates has a selectionMode==?one?; > the disadvantage of this approach is that changeValue and changeSelected > events are fired as you add the first item to the list. This is kind of > OK because you can choose to add the event listeners after you have > populated the field (although when you _want_ the first item selected then > your code never sees the events get fired unless you fire them manually), > but in a more complex client/server app you?re data binding may happen as > a whole separate process to the building of the form and you get unwanted > selection events. > > Just a suggestion, but could the SelectBox be made to not always select a > row, eg by changing the selectionMode of the list to ?single? ? or better, > have a selectionMode property of its own? We?ve derived our own SelectBox > and done that with success. > > John -- Oetiker+Partner AG tel: +41 62 775 9903 (direct) Fritz Zaucker +41 62 775 9900 (switch board) Aarweg 15 +41 79 675 0630 (mobile) CH-4600 Olten fax: +41 62 775 9905 Schweiz web: www.oetiker.ch ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ qooxdoo-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
