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
------------------------------------------------------------------------------
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
------------------------------------------------------------------------------
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