You're not missing anything. There's a super-secret mouseDown
handler in the datagrid that is messing you up. Lots of folks have
tried various ways to workaround it and I think they've succeeded.
Last time we tried it, we subclassed the DataGrid and overrode its
onMouseDown method to see if it hittest the combobox which is acting
as the cellEditor
function onMouseDown() : Void
{
var pt = new Object();
pt.x = _root._xmouse;
pt.y = _root._ymouse;
_root.localToGlobal(pt);
if (cellEditor._visible && cellEditor.isCellEditor)
{
if (cellEditor.hitTest(pt.x, pt.y))
return;
// if comboheight > 30, then dropdown is visible
if (cellEditor.combo.height > 30 &&
cellEditor.combo.dropdown._visible &&
cellEditor.combo.dropdown.hitTest(pt.x, pt.y))
return;
}
super.onMouseDown();
}
The the cell renderer watches for the close event on the combobox and
destroys its dropdown.
function close() {
size();
combo.dropdown.removeMovieClip();
combo.mask.removeMovieClip();
}
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/flexcoders/
<*> To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/