The combobox measures every row in order to figure out how wide it 
should be.  The datagrid trusts the width information in the columns.

-Alex

--- In [email protected], "Matt Chotin" <[EMAIL PROTECTED]> wrote:
> Yep, the DG will probably call getItemAt for every visible row
> regardless of how many items are actually in the dataProvider.  
Multiple
> calls to length() are simply done as the measurement, layout, and
> drawing mechanisms are doing their thing.  Same would apply to 
ComboBox
> but obviously there's less to compute and draw there.
> 
>  
> 
> Matt
> 
>  
> 
> ________________________________
> 
> From: [email protected] 
[mailto:[EMAIL PROTECTED] On
> Behalf Of rbelknap
> Sent: Sunday, June 05, 2005 11:13 AM
> To: [email protected]
> Subject: [flexcoders] Re: Contract between DataProvider and 
ComboBox or
> DataGrid
> 
>  
> 
> I hooked up the dataProvider to a ComboBox and the result was more 
> what I expected.  The ComboBox seems to make 0 to length-1 calls to 
> getItemAt and then stops.  The DataGrid seems to make a fixed 
number 
> of calls - perhaps a default grid size?
> 
> 
> [Debug] cbTest initialized
> [Debug] TestDP(undefined)
> [Debug] getItemAt(undefined)
> [Debug] get length():5
> [Debug] get length():5
> [Debug] get length():5
> [Debug] get length():5
> [Debug] get length():5
> [Debug] get length():5
> [Debug] get length():5
> [Debug] get length():5
> [Debug] getItemAt(0)
> [Debug] getItemAt(1)
> [Debug] getItemAt(2)
> [Debug] getItemAt(3)
> [Debug] getItemAt(4)
> [Debug] get length():5
> [Debug] get length():5
> [Debug] getItemAt(undefined)
> 
> 
> --- In [email protected], "Matt Chotin" <[EMAIL PROTECTED]> 
wrote:
> > I'd imagine that if you're seeing numerous calls to length 
> interspersed
> > with getItemAt that we simply didn't do an optimal loop.
> > 
> >  
> > 
> > for (var idx = 0; idx < dataProvider.length; ++idx)
> > 
> > {
> > 
> >   var item = getItemAt(idx);
> > 
> > }
> > 
> >  
> > 
> > get length() is going to be called on every iteration of the 
loop.  
> It'd
> > obviously be more efficient to store length in a local variable 
and 
> just
> > use that, but maybe we didn't somewhere.
> > 
> >  
> > 
> > Matt
> > 
> > ________________________________
> > 
> > From: [email protected] 
> [mailto:[EMAIL PROTECTED] On
> > Behalf Of rbelknap
> > Sent: Friday, June 03, 2005 3:24 PM
> > To: [email protected]
> > Subject: [flexcoders] Contract between DataProvider and ComboBox 
or
> > DataGrid
> > 
> >  
> > 
> > Hi,
> > 
> > I'm struggling to figure out the implied contract between 
> > DataProviders and their users like ComboBox or DataGrid. When 
> either 
> > a ComboBox or DataGrid first uses a DataProvider they seem to 
make 
> > numerous calls to:
> > 
> >    public function get length():Number
> > 
> > and 
> > 
> >    function getItemAt(index : Number)
> > 
> > but it isn't obvious what the logic is behind these calls.  
> > 
> > I was expecting to see a call to get the length followed by a 
> series 
> > of calls to getItemAt starting at index 0 and running to index 
> length-
> > 1, but that's not what I see.
> > 
> > Has anyone run across any good discussions of DataProviders and 
> their 
> > users?
> > 
> > Thanks,
> > 
> > Randy
> > 
> > 
> > 
> > 
> > 
> > 
> > ________________________________
> > 
> > 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]
> > <mailto:[EMAIL PROTECTED]
subject=Unsubscribe> 
> >         
> > *      Your use of Yahoo! Groups is subject to the Yahoo! Terms of
> > Service <http://docs.yahoo.com/info/terms/> .
> 
> 
> 
> 
> 
> 
> ________________________________
> 
> 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]
> <mailto:[EMAIL PROTECTED]> 
>         
> *     Your use of Yahoo! Groups is subject to the Yahoo! Terms of
> Service <http://docs.yahoo.com/info/terms/> .





 
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/
 


Reply via email to