Box is a pretty heavy base for an ItemRenderer. It often wastes time trying to compute whether scrollbars are needed. Do you need scrollbars? If not, just use UIComponent.
Getting rid of the scrollbar computation should fix the problem, but if you need scrollbars, then you have to make sure the computation is stable, as in it will return the same dimensions and thus whether scrollbars are needed every time. I'm guessing there is something about your renderer that isn't stable. mx:Text is often a contributor because of the way it tries to remember its last dimensions when measured. -Alex On 7/14/14 5:57 PM, "Jason Guild" <[email protected]> wrote: >Hi All: > >I've encountered an intermittant stack overflow problem displaying data >in an <mx:DataGrid> with two colunms, variableRowHeight="true", and a >custom itemRenderer applied to the second column. The item renderer for >the second column is based on <mx:Box> and has two view states. The >renderer is either in the "default" state and shows wrapped text, or in >a "link" state and the text is a hyperlink where an <mx:Button> to be >displayed instead. > >My interface combines an <mx:Tree> beside an <mx:DataGrid> in a simple >master/detail configuration. Selecting an item in the tree resets the >grid dataProvider to show detailed data in the grid for the >corresponding tree item. The MXML for the interface is: > ><mx:DividedBox id="resultsBox" width="100%" height="100%" >direction="horizontal"> > <mx:Tree id="resultTree" width="37%" height="100%" minWidth="100" > styleName="layerTreeStyle" > doubleClickEnabled="true" > dataProvider="{ viewModel.results }"/> > > <mx:DataGrid id="attrGrid" > width="63%" > minWidth="125" > height="100%" > variableRowHeight="true" > draggableColumns="false" > sortableColumns="false" > editable="false"> > <mx:columns> > <mx:DataGridColumn headerText="Field" dataField="field" >width="100"/> > <mx:DataGridColumn headerText="Value" dataField="value" >width="125" > itemRenderer="views.renderers.ResultSummaryValueRenderer"/> > </mx:columns> > </mx:DataGrid> ></mx:DividedBox> > >The itemRenderer looks like this: > ><?xml version="1.0" encoding="utf-8"?> ><mx:Box xmlns:fx="http://ns.adobe.com/mxml/2009" > xmlns:mx="library://ns.adobe.com/flex/mx" > implements="mx.core.IDataRenderer" > width="100%" > paddingLeft="5"> > > <fx:Script> > <![CDATA[ > import events.ResultLinkEvent; > import mx.events.FlexEvent; > import util.StringUtil; > > private const linkMethodPat:RegExp = /(ht|f)tp(s?):/i; > > private var _data:Object; > > [Bindable] > private var displayVal:String = null; > [Bindable] > private var displayTip:String = null; > > [Bindable("dataChange")] > public override function get data():Object { > return _data; > } > > public override function set data(value:Object):void { > > if ((this._data = value) != null) { > if (isLink(value)) { > var valStr:String = data.value as String; > var sepIndex:int = valStr.indexOf("|"); > > this.displayVal = (sepIndex >= 0) ? >valStr.substring(0, sepIndex) : "Link"; > this.displayTip = valStr.substring(sepIndex + 1); > this.currentState = "link"; > return; > } > > this.displayVal = ("value" in data && >StringUtil.isNotBlank(data.value)) ? data.value : "[ no value ]"; > this.displayTip = null; > this.currentState = "default"; > } > > dispatchEvent(new FlexEvent(FlexEvent.DATA_CHANGE)); > } > > private function isLink(attrInfo:Object):Boolean { > var sepIndex:int = attrInfo.value.indexOf("|"); > var attrVal:String = (sepIndex == -1) ? attrInfo.value >: String(attrInfo.value).substring(sepIndex); > > // return true if value is URL with recognized method > return (attrVal.substring(0, >attrVal.indexOf('//')).match(linkMethodPat) != null); > } > > private function notifyLink(evt:MouseEvent):void { > var attrVal:String = data.value as String; > var sepIndex:int = attrVal.indexOf("|"); > > dispatchEvent(new ResultLinkEvent( > ResultLinkEvent.NAVIGATE, > data.field, > (sepIndex == -1) ? attrVal : >attrVal.substring(sepIndex + 1) > ) > ); > } > ]]> > </fx:Script> > > <mx:states> > <mx:State name="default"/> > <mx:State name="link"/> > </mx:states> > > <mx:Text id="attrTextCtrl" width="100%" > text="{ displayVal }" selectable="true" excludeFrom="link"/> > <mx:Button id="attrButtonCtrl" label="{ displayVal }" toolTip="{ >displayTip }" > click="notifyLink(event)" includeIn="link"/> ></mx:Box> > >THE PROBLEM: >At first, when the tree selection changes the grid updates correctly >with new grid content and content is displayed in the second column as >either wrapped text or button as desired. But after an indeterminate >number of tree selection changes the player will freeze and result in >layout-related stack overflow of some kind. > >The grid dataProvider always has about 6-12 rows, but the content itself >varies somewhat in how many of those rows have text long enough to wrap >in the grid when tree selection changes. There is nearly always more >content than can be displayed vertically so the grid has to display a >scroll bar. > >I wrote that the stack overflow is intermittant because it /seems/ that >if the grid content can be displayed completely without need for a >scroll bar then the problem does not occur. This is often the case when >there is only one row requiring text wrapping in the itemRenderer. > >Anyway, stack traces I have (see below) indicate some kind of loop that >occurs attempting to validate and update the display lists of the grid >and the item renderer used until stack is exhausted. Seems like a bug. > >Things I've tried to workaround the problem: >1. setting horizontalScrollPolicy="off" verticalScrollPolicy="off" >inside item renderer -> no effect, problem persists >2. basing itemRenderer on <s:MXDataGridItemRenderer/> with no layout >instead of <mx:Box/> -> problem persists >3. basing itemRenderer on <s:MXDataGridItemRenderer/> with ><s:HorizontalLayout/> instead of <mx:Box/> -> problem persists >4. setting variableRowHeight="false" on grid -> problem eliminated, but >long text is not wrapped (undesired visual outcome) >5. removing itemRenderer on second column -> problem eliminated, but is >effectively equivalent to variableRowHeight="false" because default >DataGridItemRenderer class never wraps text (undesired visual outcome). >6. Using a bare minimum itemRenderer based on <mx:Box/> involving only ><mx:Text> for wrapped text and no view states -> problem eliminated, but >its not possible to display a button when content is a hyperlink. >7. Using an itemRenderer based on <mx:Box/> that avoids view states >altogether and tries to toggle which control is visible through setting >of visible and includeInLayout -> seemed better at first, but problem >persists >8. I also tried to extend DataGridColumn to conditionally use two >different itemRenderers based on the data, but >DataGridColumn.getItemRendererFactory() calls private methods I can't >override without bringing the whole class into my tree. > >QUESTIONS: >1. Is there another way to write an item renderer with switching view >states in a way that is more robust? >2. How does <mx:DataGrid> compute the needed height for a row? Can I >break the chain somehow by implementing measure() or something? > >Any help or suggestions would be greatly appreciated!!! >Jason > >P.S. STACK TRACES: >itemRenderer based on mx:Box -- >undefined > at >mx.core::LayoutElementUIComponentUtils$/getPreferredUBoundsHeight()[/Users >/aharui/flex-sdk-4.12.1/frameworks/projects/framework/src/mx/core/LayoutEl >ementUIComponentUtils.as:92] > at >mx.core::LayoutElementUIComponentUtils$/setLayoutBoundsSize()[/Users/aharu >i/flex-sdk-4.12.1/frameworks/projects/framework/src/mx/core/LayoutElementU >IComponentUtils.as:510] > at >mx.core::UIComponent/setLayoutBoundsSize()[/Users/aharui/flex-sdk-4.12.1/f >rameworks/projects/framework/src/mx/core/UIComponent.as:14474] > at >spark.layouts::BasicLayout/updateDisplayList()[/Users/aharui/flex-sdk-4.12 >.1/frameworks/projects/spark/src/spark/layouts/BasicLayout.as:508] > at >spark.components.supportClasses::GroupBase/updateDisplayList()[/Users/ahar >ui/flex-sdk-4.12.1/frameworks/projects/spark/src/spark/components/supportC >lasses/GroupBase.as:1302] > at >spark.components::Group/updateDisplayList()[/Users/aharui/flex-sdk-4.12.1/ >frameworks/projects/spark/src/spark/components/Group.as:1179] > at >mx.core::UIComponent/validateDisplayList()[/Users/aharui/flex-sdk-4.12.1/f >rameworks/projects/framework/src/mx/core/UIComponent.as:9531] > at >spark.components::Group/validateDisplayList()[/Users/aharui/flex-sdk-4.12. >1/frameworks/projects/spark/src/spark/components/Group.as:1101] > at >mx.managers::LayoutManager/validateClient()[/Users/aharui/flex-sdk-4.12.1/ >frameworks/projects/framework/src/mx/managers/LayoutManager.as:1041] > at >mx.core::UIComponent/validateNow()[/Users/aharui/flex-sdk-4.12.1/framework >s/projects/framework/src/mx/core/UIComponent.as:8609] > at >mx.controls.dataGridClasses::DataGridBase/updateRendererDisplayList()[/Use >rs/aharui/flex-sdk-4.12.1/frameworks/projects/mx/src/mx/controls/dataGridC >lasses/DataGridBase.as:1344] > at >mx.controls.dataGridClasses::DataGridBase/drawItem()[/Users/aharui/flex-sd >k-4.12.1/frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridBa >se.as:1309] > at >mx.controls.dataGridClasses::DataGridBase/drawVisibleItem()[/Users/aharui/ >flex-sdk-4.12.1/frameworks/projects/mx/src/mx/controls/dataGridClasses/Dat >aGridBase.as:1282] > at >mx.controls.dataGridClasses::DataGridBase/makeRows()[/Users/aharui/flex-sd >k-4.12.1/frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridBa >se.as:818] > at >mx.controls.dataGridClasses::DataGridBase/makeRowsAndColumns()[/Users/ahar >ui/flex-sdk-4.12.1/frameworks/projects/mx/src/mx/controls/dataGridClasses/ >DataGridBase.as:702] > at >mx.controls::DataGrid/makeRowsAndColumns()[/Users/aharui/flex-sdk-4.12.1/f >rameworks/projects/mx/src/mx/controls/DataGrid.as:1882] > at >mx.controls.listClasses::ListBase/makeRowsAndColumnsWithExtraRows()[/Users >/aharui/flex-sdk-4.12.1/frameworks/projects/mx/src/mx/controls/listClasses >/ListBase.as:1747] > at >mx.controls.listClasses::ListBase/updateDisplayList()[/Users/aharui/flex-s >dk-4.12.1/frameworks/projects/mx/src/mx/controls/listClasses/ListBase.as:4 >388] > at >mx.controls.dataGridClasses::DataGridBase/updateDisplayList()[/Users/aharu >i/flex-sdk-4.12.1/frameworks/projects/mx/src/mx/controls/dataGridClasses/D >ataGridBase.as:690] > at >mx.controls::DataGrid/updateDisplayList()[/Users/aharui/flex-sdk-4.12.1/fr >ameworks/projects/mx/src/mx/controls/DataGrid.as:1781] > at >mx.core::ScrollControlBase/setScrollBarProperties()[/Users/aharui/flex-sdk >-4.12.1/frameworks/projects/mx/src/mx/core/ScrollControlBase.as:1286] > at >mx.controls::DataGrid/configureScrollBars()[/Users/aharui/flex-sdk-4.12.1/ >frameworks/projects/mx/src/mx/controls/DataGrid.as:2437] > at >mx.controls.listClasses::ListBase/updateDisplayList()[/Users/aharui/flex-s >dk-4.12.1/frameworks/projects/mx/src/mx/controls/listClasses/ListBase.as:4 >402] > at >mx.controls.dataGridClasses::DataGridBase/updateDisplayList()[/Users/aharu >i/flex-sdk-4.12.1/frameworks/projects/mx/src/mx/controls/dataGridClasses/D >ataGridBase.as:690] > at >mx.controls::DataGrid/updateDisplayList()[/Users/aharui/flex-sdk-4.12.1/fr >ameworks/projects/mx/src/mx/controls/DataGrid.as:1781] > at >mx.core::ScrollControlBase/setScrollBarProperties()[/Users/aharui/flex-sdk >-4.12.1/frameworks/projects/mx/src/mx/core/ScrollControlBase.as:1286] > at >mx.controls::DataGrid/configureScrollBars()[/Users/aharui/flex-sdk-4.12.1/ >frameworks/projects/mx/src/mx/controls/DataGrid.as:2437] > at >mx.controls.listClasses::ListBase/updateDisplayList()[/Users/aharui/flex-s >dk-4.12.1/frameworks/projects/mx/src/mx/controls/listClasses/ListBase.as:4 >402] > at >mx.controls.dataGridClasses::DataGridBase/updateDisplayList()[/Users/aharu >i/flex-sdk-4.12.1/frameworks/projects/mx/src/mx/controls/dataGridClasses/D >ataGridBase.as:690] > at >mx.controls::DataGrid/updateDisplayList()[/Users/aharui/flex-sdk-4.12.1/fr >ameworks/projects/mx/src/mx/controls/DataGrid.as:1781] > at >mx.core::ScrollControlBase/setScrollBarProperties()[/Users/aharui/flex-sdk >-4.12.1/frameworks/projects/mx/src/mx/core/ScrollControlBase.as:1286] > at >mx.controls::DataGrid/configureScrollBars()[/Users/aharui/flex-sdk-4.12.1/ >frameworks/projects/mx/src/mx/controls/DataGrid.as:2437] > at >mx.controls.listClasses::ListBase/updateDisplayList()[/Users/aharui/flex-s >dk-4.12.1/frameworks/projects/mx/src/mx/controls/listClasses/ListBase.as:4 >402] > at >mx.controls.dataGridClasses::DataGridBase/updateDisplayList()[/Users/aharu >i/flex-sdk-4.12.1/frameworks/projects/mx/src/mx/controls/dataGridClasses/D >ataGridBase.as:690] > at >mx.controls::DataGrid/updateDisplayList()[/Users/aharui/flex-sdk-4.12.1/fr >ameworks/projects/mx/src/mx/controls/DataGrid.as:1781] > at >mx.core::ScrollControlBase/setScrollBarProperties()[/Users/aharui/flex-sdk >-4.12.1/frameworks/projects/mx/src/mx/core/ScrollControlBase.as:1286] > at >mx.controls::DataGrid/configureScrollBars()[/Users/aharui/flex-sdk-4.12.1/ >frameworks/projects/mx/src/mx/controls/DataGrid.as:2437] > at >mx.controls.listClasses::ListBase/updateDisplayList()[/Users/aharui/flex-s >dk-4.12.1/frameworks/projects/mx/src/mx/controls/listClasses/ListBase.as:4 >402] > at >mx.controls.dataGridClasses::DataGridBase/updateDisplayList()[/Users/aharu >i/flex-sdk-4.12.1/frameworks/projects/mx/src/mx/controls/dataGridClasses/D >ataGridBase.as:690] > at >mx.controls::DataGrid/updateDisplayList()[/Users/aharui/flex-sdk-4.12.1/fr >ameworks/projects/mx/src/mx/controls/DataGrid.as:1781] > at >mx.core::ScrollControlBase/setScrollBarProperties()[/Users/aharui/flex-sdk >-4.12.1/frameworks/projects/mx/src/mx/core/ScrollControlBase.as:1286] > at >mx.controls::DataGrid/configureScrollBars()[/Users/aharui/flex-sdk-4.12.1/ >frameworks/projects/mx/src/mx/controls/DataGrid.as:2437] > at >mx.controls.listClasses::ListBase/updateDisplayList()[/Users/aharui/flex-s >dk-4.12.1/frameworks/projects/mx/src/mx/controls/listClasses/ListBase.as:4 >402] > at >mx.controls.dataGridClasses::DataGridBase/updateDisplayList()[/Users/aharu >i/flex-sdk-4.12.1/frameworks/projects/mx/src/mx/controls/dataGridClasses/D >ataGridBase.as:690] > at >mx.controls::DataGrid/updateDisplayList()[/Users/aharui/flex-sdk-4.12.1/fr >ameworks/projects/mx/src/mx/controls/DataGrid.as:1781] > at >mx.core::ScrollControlBase/setScrollBarProperties()[/Users/aharui/flex-sdk >-4.12.1/frameworks/projects/mx/src/mx/core/ScrollControlBase.as:1286] > at >mx.controls::DataGrid/configureScrollBars()[/Users/aharui/flex-sdk-4.12.1/ >frameworks/projects/mx/src/mx/controls/DataGrid.as:2437] > at >mx.controls.listClasses::ListBase/updateDisplayList()[/Users/aharui/flex-s >dk-4.12.1/frameworks/projects/mx/src/mx/controls/listClasses/ListBase.as:4 >402] > at >mx.controls.dataGridClasses::DataGridBase/updateDisplayList()[/Users/aharu >i/flex-sdk-4.12.1/frameworks/projects/mx/src/mx/controls/dataGridClasses/D >ataGridBase.as:690] > at >mx.controls::DataGrid/updateDisplayList()[/Users/aharui/flex-sdk-4.12.1/fr >ameworks/projects/mx/src/mx/controls/DataGrid.as:1781] > at >mx.core::ScrollControlBase/setScrollBarProperties()[/Users/aharui/flex-sdk >-4.12.1/frameworks/projects/mx/src/mx/core/ScrollControlBase.as:1286] > at >mx.controls::DataGrid/configureScrollBars()[/Users/aharui/flex-sdk-4.12.1/ >frameworks/projects/mx/src/mx/controls/DataGrid.as:2437] > at >mx.controls.listClasses::ListBase/updateDisplayList()[/Users/aharui/flex-s >dk-4.12.1/frameworks/projects/mx/src/mx/controls/listClasses/ListBase.as:4 >402] > at >mx.controls.dataGridClasses::DataGridBase/updateDisplayList()[/Users/aharu >i/flex-sdk-4.12.1/frameworks/projects/mx/src/mx/controls/dataGridClasses/D >ataGridBase.as:690] > at >mx.controls::DataGrid/updateDisplayList()[/Users/aharui/flex-sdk-4.12.1/fr >ameworks/projects/mx/src/mx/controls/DataGrid.as:1781] > at >mx.core::ScrollControlBase/setScrollBarProperties()[/Users/aharui/flex-sdk >-4.12.1/frameworks/projects/mx/src/mx/core/ScrollControlBase.as:1286] > at >mx.controls::DataGrid/configureScrollBars()[/Users/aharui/flex-sdk-4.12.1/ >frameworks/projects/mx/src/mx/controls/DataGrid.as:2437] > at >mx.controls.listClasses::ListBase/updateDisplayList()[/Users/aharui/flex-s >dk-4.12.1/frameworks/projects/mx/src/mx/controls/listClasses/ListBase.as:4 >402] > at >mx.controls.dataGridClasses::DataGridBase/updateDisplayList()[/Users/aharu >i/flex-sdk-4.12.1/frameworks/projects/mx/src/mx/controls/dataGridClasses/D >ataGridBase.as:690] > at >mx.controls::DataGrid/updateDisplayList()[/Users/aharui/flex-sdk-4.12.1/fr >ameworks/projects/mx/src/mx/controls/DataGrid.as:1781] > at >mx.core::ScrollControlBase/setScrollBarProperties()[/Users/aharui/flex-sdk >-4.12.1/frameworks/projects/mx/src/mx/core/ScrollControlBase.as:1286] > at >mx.controls::DataGrid/configureScrollBars()[/Users/aharui/flex-sdk-4.12.1/ >frameworks/projects/mx/src/mx/controls/DataGrid.as:2437] > at >mx.controls.listClasses::ListBase/updateDisplayList()[/Users/aharui/flex-s >dk-4.12.1/frameworks/projects/mx/src/mx/controls/listClasses/ListBase.as:4 >402] > at >mx.controls.dataGridClasses::DataGridBase/updateDisplayList()[/Users/aharu >i/flex-sdk-4.12.1/frameworks/projects/mx/src/mx/controls/dataGridClasses/D >ataGridBase.as:690] > >itemRenderer based on s:MXDataGridItemRenderer: >undefined > at >mx.managers::LayoutManager/invalidateDisplayList()[/Users/aharui/flex-sdk- >4.12.1/frameworks/projects/framework/src/mx/managers/LayoutManager.as:556] > at >mx.core::UIComponent/invalidateDisplayList()[/Users/aharui/flex-sdk-4.12.1 >/frameworks/projects/framework/src/mx/core/UIComponent.as:8433] > at >mx.core::UIComponent/setActualSize()[/Users/aharui/flex-sdk-4.12.1/framewo >rks/projects/framework/src/mx/core/UIComponent.as:10250] > at >mx.core::LayoutElementUIComponentUtils$/setLayoutBoundsSize()[/Users/aharu >i/flex-sdk-4.12.1/frameworks/projects/framework/src/mx/core/LayoutElementU >IComponentUtils.as:519] > at >mx.core::UIComponent/setLayoutBoundsSize()[/Users/aharui/flex-sdk-4.12.1/f >rameworks/projects/framework/src/mx/core/UIComponent.as:14474] > at >spark.layouts::BasicLayout/updateDisplayList()[/Users/aharui/flex-sdk-4.12 >.1/frameworks/projects/spark/src/spark/layouts/BasicLayout.as:508] > at >spark.components.supportClasses::GroupBase/updateDisplayList()[/Users/ahar >ui/flex-sdk-4.12.1/frameworks/projects/spark/src/spark/components/supportC >lasses/GroupBase.as:1302] > at >spark.components::Group/updateDisplayList()[/Users/aharui/flex-sdk-4.12.1/ >frameworks/projects/spark/src/spark/components/Group.as:1179] > at >mx.core::UIComponent/validateDisplayList()[/Users/aharui/flex-sdk-4.12.1/f >rameworks/projects/framework/src/mx/core/UIComponent.as:9531] > at >spark.components::Group/validateDisplayList()[/Users/aharui/flex-sdk-4.12. >1/frameworks/projects/spark/src/spark/components/Group.as:1101] > at >mx.managers::LayoutManager/validateClient()[/Users/aharui/flex-sdk-4.12.1/ >frameworks/projects/framework/src/mx/managers/LayoutManager.as:1041] > at >mx.core::UIComponent/validateNow()[/Users/aharui/flex-sdk-4.12.1/framework >s/projects/framework/src/mx/core/UIComponent.as:8609] > at >mx.controls.dataGridClasses::DataGridBase/updateRendererDisplayList()[/Use >rs/aharui/flex-sdk-4.12.1/frameworks/projects/mx/src/mx/controls/dataGridC >lasses/DataGridBase.as:1344] > at >mx.controls.dataGridClasses::DataGridBase/drawItem()[/Users/aharui/flex-sd >k-4.12.1/frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridBa >se.as:1309] > at >mx.controls.dataGridClasses::DataGridBase/drawVisibleItem()[/Users/aharui/ >flex-sdk-4.12.1/frameworks/projects/mx/src/mx/controls/dataGridClasses/Dat >aGridBase.as:1282] > at >mx.controls.dataGridClasses::DataGridBase/makeRows()[/Users/aharui/flex-sd >k-4.12.1/frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridBa >se.as:818] > at >mx.controls.dataGridClasses::DataGridBase/makeRowsAndColumns()[/Users/ahar >ui/flex-sdk-4.12.1/frameworks/projects/mx/src/mx/controls/dataGridClasses/ >DataGridBase.as:702] > at >mx.controls::DataGrid/makeRowsAndColumns()[/Users/aharui/flex-sdk-4.12.1/f >rameworks/projects/mx/src/mx/controls/DataGrid.as:1882] > at >mx.controls.listClasses::ListBase/makeRowsAndColumnsWithExtraRows()[/Users >/aharui/flex-sdk-4.12.1/frameworks/projects/mx/src/mx/controls/listClasses >/ListBase.as:1747] > at >mx.controls.listClasses::ListBase/updateDisplayList()[/Users/aharui/flex-s >dk-4.12.1/frameworks/projects/mx/src/mx/controls/listClasses/ListBase.as:4 >388] > at >mx.controls.dataGridClasses::DataGridBase/updateDisplayList()[/Users/aharu >i/flex-sdk-4.12.1/frameworks/projects/mx/src/mx/controls/dataGridClasses/D >ataGridBase.as:690] > at >mx.controls::DataGrid/updateDisplayList()[/Users/aharui/flex-sdk-4.12.1/fr >ameworks/projects/mx/src/mx/controls/DataGrid.as:1781] > at >mx.core::ScrollControlBase/setScrollBarProperties()[/Users/aharui/flex-sdk >-4.12.1/frameworks/projects/mx/src/mx/core/ScrollControlBase.as:1286] > at >mx.controls::DataGrid/configureScrollBars()[/Users/aharui/flex-sdk-4.12.1/ >frameworks/projects/mx/src/mx/controls/DataGrid.as:2437] > at >mx.controls.listClasses::ListBase/updateDisplayList()[/Users/aharui/flex-s >dk-4.12.1/frameworks/projects/mx/src/mx/controls/listClasses/ListBase.as:4 >402] > at >mx.controls.dataGridClasses::DataGridBase/updateDisplayList()[/Users/aharu >i/flex-sdk-4.12.1/frameworks/projects/mx/src/mx/controls/dataGridClasses/D >ataGridBase.as:690] > at >mx.controls::DataGrid/updateDisplayList()[/Users/aharui/flex-sdk-4.12.1/fr >ameworks/projects/mx/src/mx/controls/DataGrid.as:1781] > at >mx.core::ScrollControlBase/setScrollBarProperties()[/Users/aharui/flex-sdk >-4.12.1/frameworks/projects/mx/src/mx/core/ScrollControlBase.as:1286] > at >mx.controls::DataGrid/configureScrollBars()[/Users/aharui/flex-sdk-4.12.1/ >frameworks/projects/mx/src/mx/controls/DataGrid.as:2437] > at >mx.controls.listClasses::ListBase/updateDisplayList()[/Users/aharui/flex-s >dk-4.12.1/frameworks/projects/mx/src/mx/controls/listClasses/ListBase.as:4 >402] > at >mx.controls.dataGridClasses::DataGridBase/updateDisplayList()[/Users/aharu >i/flex-sdk-4.12.1/frameworks/projects/mx/src/mx/controls/dataGridClasses/D >ataGridBase.as:690] > at >mx.controls::DataGrid/updateDisplayList()[/Users/aharui/flex-sdk-4.12.1/fr >ameworks/projects/mx/src/mx/controls/DataGrid.as:1781] > at >mx.core::ScrollControlBase/setScrollBarProperties()[/Users/aharui/flex-sdk >-4.12.1/frameworks/projects/mx/src/mx/core/ScrollControlBase.as:1286] > at >mx.controls::DataGrid/configureScrollBars()[/Users/aharui/flex-sdk-4.12.1/ >frameworks/projects/mx/src/mx/controls/DataGrid.as:2437] > at >mx.controls.listClasses::ListBase/updateDisplayList()[/Users/aharui/flex-s >dk-4.12.1/frameworks/projects/mx/src/mx/controls/listClasses/ListBase.as:4 >402] > at >mx.controls.dataGridClasses::DataGridBase/updateDisplayList()[/Users/aharu >i/flex-sdk-4.12.1/frameworks/projects/mx/src/mx/controls/dataGridClasses/D >ataGridBase.as:690] > at >mx.controls::DataGrid/updateDisplayList()[/Users/aharui/flex-sdk-4.12.1/fr >ameworks/projects/mx/src/mx/controls/DataGrid.as:1781] > at >mx.core::ScrollControlBase/setScrollBarProperties()[/Users/aharui/flex-sdk >-4.12.1/frameworks/projects/mx/src/mx/core/ScrollControlBase.as:1286] > at >mx.controls::DataGrid/configureScrollBars()[/Users/aharui/flex-sdk-4.12.1/ >frameworks/projects/mx/src/mx/controls/DataGrid.as:2437] > at >mx.controls.listClasses::ListBase/updateDisplayList()[/Users/aharui/flex-s >dk-4.12.1/frameworks/projects/mx/src/mx/controls/listClasses/ListBase.as:4 >402] > at >mx.controls.dataGridClasses::DataGridBase/updateDisplayList()[/Users/aharu >i/flex-sdk-4.12.1/frameworks/projects/mx/src/mx/controls/dataGridClasses/D >ataGridBase.as:690] > at >mx.controls::DataGrid/updateDisplayList()[/Users/aharui/flex-sdk-4.12.1/fr >ameworks/projects/mx/src/mx/controls/DataGrid.as:1781] > at >mx.core::ScrollControlBase/setScrollBarProperties()[/Users/aharui/flex-sdk >-4.12.1/frameworks/projects/mx/src/mx/core/ScrollControlBase.as:1286] > at >mx.controls::DataGrid/configureScrollBars()[/Users/aharui/flex-sdk-4.12.1/ >frameworks/projects/mx/src/mx/controls/DataGrid.as:2437] > at >mx.controls.listClasses::ListBase/updateDisplayList()[/Users/aharui/flex-s >dk-4.12.1/frameworks/projects/mx/src/mx/controls/listClasses/ListBase.as:4 >402] > at >mx.controls.dataGridClasses::DataGridBase/updateDisplayList()[/Users/aharu >i/flex-sdk-4.12.1/frameworks/projects/mx/src/mx/controls/dataGridClasses/D >ataGridBase.as:690] > at >mx.controls::DataGrid/updateDisplayList()[/Users/aharui/flex-sdk-4.12.1/fr >ameworks/projects/mx/src/mx/controls/DataGrid.as:1781] > at >mx.core::ScrollControlBase/setScrollBarProperties()[/Users/aharui/flex-sdk >-4.12.1/frameworks/projects/mx/src/mx/core/ScrollControlBase.as:1286] > at >mx.controls::DataGrid/configureScrollBars()[/Users/aharui/flex-sdk-4.12.1/ >frameworks/projects/mx/src/mx/controls/DataGrid.as:2437] > at >mx.controls.listClasses::ListBase/updateDisplayList()[/Users/aharui/flex-s >dk-4.12.1/frameworks/projects/mx/src/mx/controls/listClasses/ListBase.as:4 >402] > at >mx.controls.dataGridClasses::DataGridBase/updateDisplayList()[/Users/aharu >i/flex-sdk-4.12.1/frameworks/projects/mx/src/mx/controls/dataGridClasses/D >ataGridBase.as:690] > at >mx.controls::DataGrid/updateDisplayList()[/Users/aharui/flex-sdk-4.12.1/fr >ameworks/projects/mx/src/mx/controls/DataGrid.as:1781] > at >mx.core::ScrollControlBase/setScrollBarProperties()[/Users/aharui/flex-sdk >-4.12.1/frameworks/projects/mx/src/mx/core/ScrollControlBase.as:1286] > at >mx.controls::DataGrid/configureScrollBars()[/Users/aharui/flex-sdk-4.12.1/ >frameworks/projects/mx/src/mx/controls/DataGrid.as:2437] > at >mx.controls.listClasses::ListBase/updateDisplayList()[/Users/aharui/flex-s >dk-4.12.1/frameworks/projects/mx/src/mx/controls/listClasses/ListBase.as:4 >402] > at >mx.controls.dataGridClasses::DataGridBase/updateDisplayList()[/Users/aharu >i/flex-sdk-4.12.1/frameworks/projects/mx/src/mx/controls/dataGridClasses/D >ataGridBase.as:690] > at >mx.controls::DataGrid/updateDisplayList()[/Users/aharui/flex-sdk-4.12.1/fr >ameworks/projects/mx/src/mx/controls/DataGrid.as:1781] > at >mx.core::ScrollControlBase/setScrollBarProperties()[/Users/aharui/flex-sdk >-4.12.1/frameworks/projects/mx/src/mx/core/ScrollControlBase.as:1286] > at >mx.controls::DataGrid/configureScrollBars()[/Users/aharui/flex-sdk-4.12.1/ >frameworks/projects/mx/src/mx/controls/DataGrid.as:2437] > at >mx.controls.listClasses::ListBase/updateDisplayList()[/Users/aharui/flex-s >dk-4.12.1/frameworks/projects/mx/src/mx/controls/listClasses/ListBase.as:4 >402] > at >mx.controls.dataGridClasses::DataGridBase/updateDisplayList()[/Users/aharu >i/flex-sdk-4.12.1/frameworks/projects/mx/src/mx/controls/dataGridClasses/D >ataGridBase.as:690] > at >mx.controls::DataGrid/updateDisplayList()[/Users/aharui/flex-sdk-4.12.1/fr >ameworks/projects/mx/src/mx/controls/DataGrid.as:1781] > at >mx.core::ScrollControlBase/setScrollBarProperties()[/Users/aharui/flex-sdk >-4.12.1/frameworks/projects/mx/src/mx/core/ScrollControlBase.as:1286] > at >mx.controls::DataGrid/configureScrollBars()[/Users/aharui/flex-sdk-4.12.1/ >frameworks/projects/mx/src/mx/controls/DataGrid.as:2437] >
