flex-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jason Guild <jason.gu...@alaska.gov>
Subject Re: problem with mx:DataGrid and custom itemRenderer using view states
Date Tue, 15 Jul 2014 16:37:35 GMT
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" <jason.guild@alaska.gov> 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]
>>


Mime
  • Unnamed multipart/mixed (inline, None, 0 bytes)
View raw message