Heh, sorry, I meant the other option.  Thanks!

--- In flexcoders@yahoogroups.com, "Alex Harui" <[EMAIL PROTECTED]> wrote:
>
> <mx:DataGrid id="datagrid" y="10" width="501" horizontalCenter="-9"
> dragEnabled="true">
> 
> 
> ________________________________
> 
> From: flexcoders@yahoogroups.com 
[mailto:[EMAIL PROTECTED] On
> Behalf Of bsensale
> Sent: Thursday, August 07, 2008 12:43 PM
> To: flexcoders@yahoogroups.com
> Subject: [flexcoders] Re: Problems with nudgescrolling when
> programatically clicking items in DataGrid
> 
> 
> 
> Thanks for the quick reply. Is there a sample anywhere of how to do 
> this? Or could someone put the sample code into the little app 
> below? Thanks!
> 
> --- In flexcoders@yahoogroups.com <mailto:flexcoders%
40yahoogroups.com>
> , "Alex Harui" <aharui@> wrote:
> >
> > set dragEnabled=true
> > 
> > or use the mx_internal mouseX/Y override in UIComponent
> > 
> > ________________________________
> > 
> > From: flexcoders@yahoogroups.com <mailto:flexcoders%
40yahoogroups.com>
> 
> [mailto:flexcoders@yahoogroups.com <mailto:flexcoders%
40yahoogroups.com>
> ] On
> > Behalf Of bsensale
> > Sent: Thursday, August 07, 2008 6:54 AM
> > To: flexcoders@yahoogroups.com <mailto:flexcoders%
40yahoogroups.com> 
> > Subject: [flexcoders] Problems with nudgescrolling when 
> programatically
> > clicking items in DataGrid
> > 
> > 
> > 
> > Hello,
> > 
> > I'm writing some tools to automate clicking items in datagrids 
> through 
> > mouse events. Right now that means scrolling to an index, and 
> calling 
> > mouseDown, then mouseUp on datagrid.indexToItemRenderer(idx). The 
> > problem is if the physical mouse cursor happens to be below the 
> > datagrid when the mouseDown is called, the datagrid will nudge 
> scroll 
> > before the mouseUp is called if there's any delay whatsoever.
> > 
> > I don't want to necessarily disable nudge scrolling for the grid; 
> this 
> > is merely for automation purposes, so I was wondering if there 
was 
> any 
> > way on the fly to either force the mouse to move into the 
datagrid 
> so 
> > it won't nudge scroll, or to somehow disable nudge scrolling on 
the 
> fly 
> > quickly, so I can run the automation.
> > 
> > I've put together a simple (and poorly written, sorry!) app 
showing 
> the 
> > behavior. If you click the button, it dispatches a mouseDown 
event 
> to 
> > item 0 in the datagrid, then sets up a 10 ms timer. When that 
timer 
> > fires, it checks if the item is still visible before firing the 
> mouseUp.
> > 
> > <?xml version="1.0" encoding="utf-8"?>
> > <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml
> <http://www.adobe.com/2006/mxml> 
> > <http://www.adobe.com/2006/mxml <http://www.adobe.com/2006/mxml> 
> " 
> > layout="absolute">
> > <mx:Script>
> > <![CDATA[
> > import mx.controls.Text;
> > import flash.sampler.NewObjectSample;
> > import flash.utils.setInterval;
> > function onButtonClick(event:MouseEvent):void {
> > textArea.text = "";
> > var mouseDown:MouseEvent = new MouseEvent
> > (MouseEvent.MOUSE_DOWN, true, false, 0, 0, null, false, false, 
> false, 
> > true);
> > datagrid.scrollToIndex(0);
> > var obj:Object = datagrid.indexToItemRenderer(0);
> > if(obj == null) {
> > textArea.text += "Object was null!\n";
> > }
> > else {
> > textArea.text += "Object: " + obj.toString() + "\n";
> > obj.dispatchEvent(mouseDown);
> > }
> > 
> > 
> > var t:Timer = new Timer(10, 1);
> > t.addEventListener(TimerEvent.TIMER, timerHandler);
> > t.start();
> > }
> > 
> > function timerHandler(evt:Object) {
> > var mouseUp:MouseEvent = new MouseEvent
> > (MouseEvent.MOUSE_UP, true, false, 0, 0, null, false, false, 
false, 
> > false);
> > var obj2:Object = datagrid.indexToItemRenderer(0);
> > if(obj2 == null) {
> > textArea.text += "Object2 was null!\n";
> > }
> > else {
> > textArea.text += "Object2: " + obj2.toString() 
> > + "\n";
> > obj2.dispatchEvent(mouseUp);
> > }
> > }
> > ]]>
> > </mx:Script>
> > <mx:DataGrid id="datagrid" y="10" width="501" horizontalCenter="-
9">
> > <mx:dataProvider>
> > <mx:Object col1="a" col2="a"/>
> > <mx:Object col1="b" col2="b"/>
> > <mx:Object col1="c" col2="b"/>
> > <mx:Object col1="d" col2="b"/>
> > <mx:Object col1="e" col2="b"/>
> > <mx:Object col1="f" col2="b"/>
> > <mx:Object col1="g" col2="b"/>
> > <mx:Object col1="h" col2="h"/>
> > <mx:Object col1="i" col2="i"/>
> > <mx:Object col1="j" col2="j"/>
> > </mx:dataProvider>
> > <mx:columns>
> > <mx:DataGridColumn headerText="Column 1" dataField="col1"/>
> > <mx:DataGridColumn headerText="Column 2" dataField="col2"/>
> > </mx:columns>
> > </mx:DataGrid>
> > <mx:Button id="button" y="479" label="Click Me!" 
> > click="onButtonClick(event)" horizontalCenter="0"/>
> > <mx:TextArea id="textArea" y="216" width="501" height="255" 
> > horizontalCenter="-9"/>
> > 
> > </mx:Application>
> >
>


Reply via email to