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

Reply via email to