I don't need it right now, but wanted to say thanks. When writing AS itemrenderers, I'm never sure of what code I need to write outside of the base code I find on the internet. Somehow, the renderers keep trucking on, but I've always wondered.
On Thu, Jul 17, 2014 at 1:46 AM, Jason Guild <[email protected]> wrote: > Hi Alex: > > Switching to AS, avoiding view states, and using the source for > ListItemDataRenderer were all very helpful tips. > The DataGrid layout stack overflow problem is now avoided entirely and my > interface is a little more snappy. > My minimal working implementation is copied below for reference. > > Thanks for your help, > Jason > ----- > package views.renderers { > > import flash.display.DisplayObject; > import flash.events.MouseEvent; > > import mx.controls.Button; > import mx.controls.DataGrid; > import mx.controls.dataGridClasses.DataGridListData; > import mx.controls.listClasses.BaseListData; > import mx.controls.listClasses.IDropInListItemRenderer; > import mx.controls.listClasses.IListItemRenderer; > import mx.core.IButton; > import mx.core.IUITextField; > import mx.core.UIComponent; > import mx.core.UITextField; > import mx.events.FlexEvent; > > public class TestRenderer3 extends UIComponent implements > IListItemRenderer, IDropInListItemRenderer { > > > private const linkMethodPat:RegExp = /(ht|f)tp(s?):/i; > > private var _data:Object; > private var _listData:DataGridListData; > > protected var _mode:String; > protected var _label:IUITextField; > protected var _linkButton:Button; > > public function TestRenderer3() { > super(); > this._mode = "label"; > } > > [Bindable("dataChange")] > public function get data():Object { > return _data; > } > > public function set data(newData:Object):void { > this._data = newData; > this._mode = isLink(String(data.value)) ? "link" : "label"; > invalidateProperties(); > dispatchEvent(new FlexEvent(FlexEvent.DATA_CHANGE)); > } > > public function get listData():BaseListData { > return _listData; > } > > public function set listData(value:BaseListData):void { > _listData = DataGridListData(value); > } > > override protected function createChildren():void { > super.createChildren(); > addChild(DisplayObject(getLabel())); > } > > override protected function commitProperties():void { > super.commitProperties(); > > var child:DisplayObject = DisplayObject(_mode == "label" ? > _label : _linkButton); > var childIndex:int = -1; > > if (hasFontContextChanged() && child != null) { > childIndex = getChildIndex(child); > _linkButton.removeEventListener(MouseEvent.CLICK, > notifyLink); > this._label = null; > this._linkButton = null; > } > > removeChildAt(childIndex == -1 ? 0 : childIndex); > child = DisplayObject(_mode == "label" ? getLabel() : > getButton()); > if (childIndex == -1) > addChild(child); > else > addChildAt(child, childIndex); > > if (_data != null) { > var txtVal:String = data.value as String; > var isMultiline:Boolean = false; > > if (_listData) { > var dg:DataGrid = DataGrid(_listData.owner); > > if (dg.variableRowHeight) > isMultiline = true; > } > > if (_mode == "label") { > _label.text = txtVal ? txtVal : " "; > _label.multiline = isMultiline; > } else { > var sepIndex:int = txtVal.indexOf("|"); > _linkButton.label = (sepIndex >= 0) ? > txtVal.substring(0, sepIndex) : "Link"; > _linkButton.toolTip = txtVal.substring(sepIndex + 1); > } > } else { > if (_mode == "label") { > _label.text = " "; > } else { > _linkButton.label = "Link"; > _linkButton.toolTip = null; > } > } > > invalidateSize(); > } > > override protected function measure():void { > super.measure(); > > if (_mode == "label") { > // guarantee that label width isn't zero because it messes > up ability to measure. > if (_label.width < 4 || _label.height < 4) { > _label.width = 4; > _label.height = 16; > } > > if (isNaN(explicitWidth)) { > measuredWidth = _label.getExplicitOrMeasuredWidth(); > measuredHeight = _label.getExplicitOrMeasuredHeight(); > } else { > measuredWidth = explicitWidth; > measuredHeight = _label.getExplicitOrMeasuredHeight(); > _label.setActualSize(Math.max(explicitWidth - > _label.getExplicitOrMeasuredWidth(), > 4), measuredHeight); > } > } else { > measuredWidth = _linkButton.getExplicitOrMeasuredWidth(); > measuredHeight = _linkButton. > getExplicitOrMeasuredHeight(); > } > > measuredWidth += 5; > } > > override protected function updateDisplayList(unscaledWidth:Number, > unscaledHeight:Number):void { > super.updateDisplayList(unscaledWidth, unscaledHeight); > if (_mode == "label") { > _label.setActualSize(unscaledWidth, measuredHeight); > } else { > _linkButton.setActualSize(measuredWidth, measuredHeight); > } > getChildAt(0).x = 5; > } > > private function isLink(val:String):Boolean { > var sepIndex:int = val.indexOf("|"); > var attrVal:String = (sepIndex == -1) ? val : > val.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 { > trace(_data.value); /* do something */ > } > > private function getLabel():IUITextField { > if (!_label) { > this._label = IUITextField(createInFontContext( > UITextField)); > _label.styleName = this; > _label.selectable = true; > _label.wordWrap = true; > } > > return _label; > } > > private function getButton():IButton { > if (!_linkButton) { > this._linkButton = Button(createInFontContext(Button)); > _linkButton.styleName = this; > _linkButton.addEventListener(MouseEvent.CLICK, > notifyLink, false, 0, true); > } > > return _linkButton; > > } > } > } > > On 7/15/2014 8:40 PM, Alex Harui wrote: > >> The fastest item renderers are usually written in AS. See the >> mx.controls.listClasses.ListItemRenderer (or >> mx.controls.treeClasses.TreeItemRenderer). >> >> Using states to control what widgets are visible is convenient, but also >> expensive when simply setting the visible property would probably work in >> this relatively simple scenario. >> >> Try making a copy of one of these renderers and adding logic to >> instantiate a Button if needed and set visible property on the Button or >> internal TextField. The TextField can handle multi-lines without as much >> overhead as mx:Text. >> >> -Alex >> >> On 7/15/14 9:37 AM, "Jason Guild" <[email protected]> wrote: >> >> Hi Alex: >>> >>> I wondered if Box was more heavy than it should be, and I don't need >>> internal scroll bars on the itemRenderer itself at all. >>> >>> I don't completely understand your thought to base the itemRenderer on >>> UIComponent though because it is not a container. >>> Could you please explain a little more how I can derive from UIComponent >>> and still effectively show either some kind of text component which >>> supports wrapping, or a button based on the data set on the itemRenderer? >>> >>> Also, if mx:Text can be troublesome then can you suggest some other >>> component which supports wrapped text without "remembering its last >>> dimensions when measured"? Can I call invalidateDisplayList() or >>> validateNow() on the mx:Text to force it to re-measure when the data is >>> reset on the itemRenderer? >>> >>> Thanks, >>> Jason >>> >>> On 7/14/2014 9:10 PM, Alex Harui wrote: >>> >>>> 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()[/ >>>>> Use >>>>> rs >>>>> >>>>> /aharui/flex-sdk-4.12.1/frameworks/projects/framework/ >>>>> src/mx/core/Layout >>>>> El >>>>> ementUIComponentUtils.as:92] >>>>> at >>>>> >>>>> mx.core::LayoutElementUIComponentUtils$/setLayoutBoundsSize()[/Users/ >>>>> aha >>>>> ru >>>>> >>>>> i/flex-sdk-4.12.1/frameworks/projects/framework/src/mx/ >>>>> core/LayoutElemen >>>>> tU >>>>> 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/ah >>>>> ar >>>>> >>>>> ui/flex-sdk-4.12.1/frameworks/projects/spark/src/spark/ >>>>> components/suppor >>>>> tC >>>>> 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.1 >>>>> 2. >>>>> 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/framewo >>>>> rk >>>>> s/projects/framework/src/mx/core/UIComponent.as:8609] >>>>> at >>>>> >>>>> mx.controls.dataGridClasses::DataGridBase/ >>>>> updateRendererDisplayList()[/U >>>>> se >>>>> >>>>> rs/aharui/flex-sdk-4.12.1/frameworks/projects/mx/src/mx/ >>>>> controls/dataGri >>>>> dC >>>>> 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/DataGrid >>>>> Ba >>>>> se.as:1309] >>>>> at >>>>> >>>>> mx.controls.dataGridClasses::DataGridBase/drawVisibleItem() >>>>> [/Users/aharu >>>>> i/ >>>>> >>>>> flex-sdk-4.12.1/frameworks/projects/mx/src/mx/controls/ >>>>> dataGridClasses/D >>>>> at >>>>> aGridBase.as:1282] >>>>> at >>>>> >>>>> mx.controls.dataGridClasses::DataGridBase/makeRows()[/ >>>>> Users/aharui/flex- >>>>> sd >>>>> >>>>> k-4.12.1/frameworks/projects/mx/src/mx/controls/ >>>>> dataGridClasses/DataGrid >>>>> Ba >>>>> se.as:818] >>>>> at >>>>> >>>>> mx.controls.dataGridClasses::DataGridBase/ >>>>> makeRowsAndColumns()[/Users/ah >>>>> ar >>>>> >>>>> ui/flex-sdk-4.12.1/frameworks/projects/mx/src/mx/controls/ >>>>> dataGridClasse >>>>> s/ >>>>> 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/makeRowsAndColumnsWithExtraRow >>>>> s()[/Use >>>>> rs >>>>> >>>>> /aharui/flex-sdk-4.12.1/frameworks/projects/mx/src/mx/ >>>>> controls/listClass >>>>> es >>>>> /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/aha >>>>> ru >>>>> >>>>> 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-s >>>>> dk >>>>> -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/aha >>>>> ru >>>>> >>>>> 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-s >>>>> dk >>>>> -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/aha >>>>> ru >>>>> >>>>> 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-s >>>>> dk >>>>> -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/aha >>>>> ru >>>>> >>>>> 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-s >>>>> dk >>>>> -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/aha >>>>> ru >>>>> >>>>> 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-s >>>>> dk >>>>> -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/aha >>>>> ru >>>>> >>>>> 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-s >>>>> dk >>>>> -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/aha >>>>> ru >>>>> >>>>> 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-s >>>>> dk >>>>> -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/aha >>>>> ru >>>>> >>>>> 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-s >>>>> dk >>>>> -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/aha >>>>> ru >>>>> >>>>> 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-s >>>>> dk >>>>> -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/aha >>>>> ru >>>>> >>>>> 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-sd >>>>> k- >>>>> >>>>> 4.12.1/frameworks/projects/framework/src/mx/managers/ >>>>> LayoutManager.as:55 >>>>> 6] >>>>> 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/frame >>>>> wo >>>>> rks/projects/framework/src/mx/core/UIComponent.as:10250] >>>>> at >>>>> >>>>> mx.core::LayoutElementUIComponentUtils$/setLayoutBoundsSize()[/Users/ >>>>> aha >>>>> ru >>>>> >>>>> i/flex-sdk-4.12.1/frameworks/projects/framework/src/mx/ >>>>> core/LayoutElemen >>>>> tU >>>>> 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/ah >>>>> ar >>>>> >>>>> ui/flex-sdk-4.12.1/frameworks/projects/spark/src/spark/ >>>>> components/suppor >>>>> tC >>>>> 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.1 >>>>> 2. >>>>> 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/framewo >>>>> rk >>>>> s/projects/framework/src/mx/core/UIComponent.as:8609] >>>>> at >>>>> >>>>> mx.controls.dataGridClasses::DataGridBase/ >>>>> updateRendererDisplayList()[/U >>>>> se >>>>> >>>>> rs/aharui/flex-sdk-4.12.1/frameworks/projects/mx/src/mx/ >>>>> controls/dataGri >>>>> dC >>>>> 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/DataGrid >>>>> Ba >>>>> se.as:1309] >>>>> at >>>>> >>>>> mx.controls.dataGridClasses::DataGridBase/drawVisibleItem() >>>>> [/Users/aharu >>>>> i/ >>>>> >>>>> flex-sdk-4.12.1/frameworks/projects/mx/src/mx/controls/ >>>>> dataGridClasses/D >>>>> at >>>>> aGridBase.as:1282] >>>>> at >>>>> >>>>> mx.controls.dataGridClasses::DataGridBase/makeRows()[/ >>>>> Users/aharui/flex- >>>>> sd >>>>> >>>>> k-4.12.1/frameworks/projects/mx/src/mx/controls/ >>>>> dataGridClasses/DataGrid >>>>> Ba >>>>> se.as:818] >>>>> at >>>>> >>>>> mx.controls.dataGridClasses::DataGridBase/ >>>>> makeRowsAndColumns()[/Users/ah >>>>> ar >>>>> >>>>> ui/flex-sdk-4.12.1/frameworks/projects/mx/src/mx/controls/ >>>>> dataGridClasse >>>>> s/ >>>>> 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/makeRowsAndColumnsWithExtraRow >>>>> s()[/Use >>>>> rs >>>>> >>>>> /aharui/flex-sdk-4.12.1/frameworks/projects/mx/src/mx/ >>>>> controls/listClass >>>>> es >>>>> /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/aha >>>>> ru >>>>> >>>>> 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-s >>>>> dk >>>>> -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/aha >>>>> ru >>>>> >>>>> 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-s >>>>> dk >>>>> -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/aha >>>>> ru >>>>> >>>>> 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-s >>>>> dk >>>>> -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/aha >>>>> ru >>>>> >>>>> 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-s >>>>> dk >>>>> -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/aha >>>>> ru >>>>> >>>>> 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-s >>>>> dk >>>>> -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/aha >>>>> ru >>>>> >>>>> 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-s >>>>> dk >>>>> -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/aha >>>>> ru >>>>> >>>>> 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-s >>>>> dk >>>>> -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/aha >>>>> ru >>>>> >>>>> 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-s >>>>> dk >>>>> -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/aha >>>>> ru >>>>> >>>>> 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-s >>>>> dk >>>>> -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] >>>>> >>>>> > -- Justin Dallas Phone:814-880-5637
