Hi,
> I am facing a weird problem with datagrid. I have added a custom
> itemrenderer in my datatgrid which draws a bullet graph in one of
> the columns.
It sounds like a problem with your itemRenderer.
> for (i = lockedRowCount; i < rowCount; i++)
> {
>
> numCols = listItems[i].length;
> var bVisible:Boolean = false;
> ...
> ...
> Now this code should run till "i" is less than rowCount, but I observed that
> if rowCount = 15 and listItems.length = 14 then after "i" executes the code
> for
> 14 it increments and also executes for 15.
listItems.length does nothing to determine the length of the loop. The
condition is i < rowCount, so if rowCount = 15, and listItems.length =
14, that makes perfect sense. The loop will run from lockedRowCount to
15 (counting from 0 to < 15 yeilds 14 = listItems.length).
lockedRowCount is "The index of the first row in the control that scrolls".
listItems is a collection of itemRenderers (one for each row in each
column of your DataGrid)
Can you post a code example (it would help to see the itemRenderer and
the Data Grid declaration.
Best Regards,
Ciarán
> I am not getting the cause for this behaviour, is it a bug in flex.
>
>
> Error:
> TypeError: Error #1010: A term is undefined and has no properties.
> at
> mx.controls.listClasses::ListBase/mx.controls.listClasses:ListBase::scrollVertically()[C:\dev\flex_201_gmc\sdk\frameworks\mx\controls\listClasses\ListBase.as:5346]
> at
> mx.controls::DataGrid/mx.controls:DataGrid::scrollVertically()[C:\dev\flex_201_gmc\sdk\frameworks\mx\controls\DataGrid.as:1923]
> at
> com.flex.MyDataGrid::myDataGrid/com.flex.MyDataGrid:myDataGrid::scrollVertically()[C:\Documents
> and Settings\someone\My Documents\Flex Builder
> 2\SampleWidget\com\flex\MyDataGrid\myDataGrid.as:24]
> at mx.controls.listClasses::ListBase/set
> verticalScrollPosition()[C:\dev\flex_201_gmc\sdk\frameworks\mx\controls\listClasses\ListBase.as:1043]
> at
> mx.controls::DataGrid/mx.controls:DataGrid::scrollHandler()[C:\dev\flex_201_gmc\sdk\frameworks\mx\controls\DataGrid.as:1720]
> at
> flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEventFunction()
> at flash.events::EventDispatcher/dispatchEvent()
> at
> mx.core::UIComponent/dispatchEvent()[C:\dev\flex_201_gmc\sdk\frameworks\mx\core\UIComponent.as:8323]
> at
> mx.controls.scrollClasses::ScrollBar/http://www.adobe.com/2006/flex/mx/internal::dispatchScrollEvent()[C:\dev\flex_201_gmc\sdk\frameworks\mx\controls\scrollClasses\ScrollBar.as:1096]
> at
> mx.controls.scrollClasses::ScrollBar/http://www.adobe.com/2006/flex/mx/internal::lineScroll()[C:\dev\flex_201_gmc\sdk\frameworks\mx\controls\scrollClasses\ScrollBar.as:1058]
> at
> mx.controls.scrollClasses::ScrollBar/mx.controls.scrollClasses:ScrollBar::downArrow_buttonDownHandler()[C:\dev\flex_201_gmc\sdk\frameworks\mx\controls\scrollClasses\ScrollBar.as:1160]
> at
> flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEventFunction()
> at flash.events::EventDispatcher/dispatchEvent()
> at
> mx.core::UIComponent/dispatchEvent()[C:\dev\flex_201_gmc\sdk\frameworks\mx\core\UIComponent.as:8323]
> at
> mx.controls::Button/http://www.adobe.com/2006/flex/mx/internal::buttonPressed()[C:\dev\flex_201_gmc\sdk\frameworks\mx\controls\Button.as:1988]
> at
> mx.controls::Button/mx.controls:Button::mouseDownHandler()[C:\dev\flex_201_gmc\sdk\frameworks\mx\controls\Button.as:2234]
>
> ________________________________
Want to start your own business? Learn how on Yahoo! Small Business.