I am using Flex 4.6 and runtime error is thrown in the below line const dimensions:GridDimensions = grid.mx_internal::gridDimensions;
Error Trace: ReferenceError: Error #1069: Property http://www.adobe.com/2006/flex/mx/internal::gridDimensions not found on spark.components.Grid and there is no default value. On Mon, Jun 9, 2014 at 10:15 AM, Saju Thankathurai <[email protected]> wrote: > Thanks, Have one runtime exception. > > ReferenceError: Error #1069: Property > http://www.adobe.com/2006/flex/mx/internal::gridDimensions not found on > spark.components.Grid and there is no default value. > > in the code > > const dimensions:GridDimensions = grid.mx_internal::gridDimensions; > > > > On Sat, Jun 7, 2014 at 8:34 PM, Frédéric THOMAS <[email protected]> > wrote: > >> or even better: >> >> private function separatorMouseDragHandler(event:GridEvent):void { >> const headerGroup:GridColumnHeaderGroup = event.currentTarget >> as GridColumnHeaderGroup; >> if (headerGroup.dataGrid.columnsLength > 1 && >> event.columnIndex < event.grid.columns.length -1) { >> dragging = true; >> } >> } >> >> private static const BOUND_LIMIT:int = 5; >> >> private function separatorMouseUpHandler(event:GridEvent):void { >> if (dragging) { >> dragging = false; >> const columnIndex:int = event.columnIndex; >> const headerGroup:GridColumnHeaderGroup = >> event.currentTarget as GridColumnHeaderGroup; >> const grid:Grid = event.grid; >> const visibleColumnIndices:Vector.<int> = >> grid.getVisibleColumnIndices(); >> const isVisible:Boolean = >> visibleColumnIndices.indexOf(columnIndex) > -1; >> if (visibleColumnIndices.length >= columnIndex + 1 && >> isVisible) { >> const dimensions:GridDimensions = >> grid.mx_internal::gridDimensions; >> const visibleColumnsWidthBeforeOur:Number = >> dimensions.getContentWidth(columnIndex); >> const visibleColumnsWidthUpToOur:Number = >> dimensions.getContentWidth(columnIndex + 1); >> if (visibleColumnsWidthUpToOur + BOUND_LIMIT > >> grid.width) { >> const newWidth:Number = grid.width - >> visibleColumnsWidthBeforeOur - BOUND_LIMIT; >> event.column.width = newWidth; >> } >> } >> } >> } >> >> Note: I used const instead of var because I was doing java today but >> there's no differences in AS3, they are compiled in the same bytecode. >> >> Frédéric THOMAS >> >> > From: [email protected] >> > To: [email protected] >> > Subject: RE: Spark datagrid Issue. >> > Date: Sat, 7 Jun 2014 15:02:19 +0100 >> > >> > Hi Saju, >> > >> > I guess this topic would fit better in the user mailing list, hower, >> not sure I understood your question, anyway I assumed you meant drag >> (instead of scroll) the header because in a Spark DataGrid, the header is >> not drag-able, so, to restrict the size of the header to make at least one >> other column header to stay visible, I would do something like this: >> > >> > <?xml version="1.0" encoding="utf-8"?> >> > <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" >> > xmlns:s="library://ns.adobe.com/flex/spark" >> > xmlns:mx="library://ns.adobe.com/flex/mx" >> > initialize="initData()"> >> > <fx:Script> >> > <![CDATA[ >> > import mx.collections.*; >> > import mx.events.FlexEvent; >> > >> > import spark.components.Grid; >> > >> > import spark.components.GridColumnHeaderGroup; >> > import spark.components.gridClasses.GridDimensions; >> > >> > import spark.events.GridEvent; >> > >> > import mx.core.mx_internal; >> > >> > private var dgArray:Array = [ >> > {Artist: 'Pavement', Album: 'Slanted and Enchanted', Price: >> 11.99}, >> > {Artist: 'Pavement', Album: 'Brighten the Corners', Price: >> 11.99} >> > ]; >> > [Bindable] >> > public var initDG:ArrayCollection; >> > private var dragging:Boolean; >> > // Initialize initDG variable from the Array. >> > public function initData():void { >> > initDG = new ArrayCollection(dgArray); >> > } >> > >> > private function >> myGrid_creationCompleteHandler(event:FlexEvent):void { >> > var dg:DataGrid = event.currentTarget as DataGrid; >> > dg.removeEventListener(FlexEvent.CREATION_COMPLETE, >> myGrid_creationCompleteHandler); >> > >> > >> dg.columnHeaderGroup.addEventListener(GridEvent.SEPARATOR_MOUSE_DRAG, >> separatorMouseDragHandler); >> > >> dg.columnHeaderGroup.addEventListener(GridEvent.SEPARATOR_MOUSE_UP, >> separatorMouseUpHandler); >> > } >> > >> > private function >> separatorMouseDragHandler(event:GridEvent):void { >> > const headerGroup:GridColumnHeaderGroup = >> event.currentTarget as GridColumnHeaderGroup; >> > if (headerGroup.dataGrid.columnsLength > 1) { >> > dragging = true; >> > } >> > } >> > >> > private static const BOUND_SPACE:int = 5; >> > >> > private function separatorMouseUpHandler(event:GridEvent):void { >> > if (dragging) { >> > dragging = false; >> > const columnIndex:int = event.columnIndex; >> > const headerGroup:GridColumnHeaderGroup = >> event.currentTarget as GridColumnHeaderGroup; >> > const grid:Grid = event.grid; >> > const visibleColumnIndices:Vector.<int> = >> grid.getVisibleColumnIndices(); >> > const isVisible:Boolean = >> visibleColumnIndices.indexOf(columnIndex) > -1; >> > if (visibleColumnIndices.length >= columnIndex + 1 && >> isVisible) { >> > const visibleColumnsWidthBeforeOur:Number = >> grid.mx_internal::gridDimensions.getContentWidth(columnIndex); >> > const visibleColumnsWidthUpToOur:Number = >> grid.mx_internal::gridDimensions.getContentWidth(columnIndex + 1); >> > if (visibleColumnsWidthUpToOur + BOUND_SPACE > >> grid.width) { >> > const newWidth:Number = >> visibleColumnsWidthUpToOur - visibleColumnsWidthBeforeOur - BOUND_SPACE; >> > event.column.width = newWidth; >> > } >> > } >> > } >> > } >> > ]]> >> > </fx:Script> >> > <s:DataGrid id="myGrid" >> > width="350" height="200" >> > dataProvider="{initDG}" >> > horizontalScrollPolicy="off" >> > >> creationComplete="myGrid_creationCompleteHandler(event)"/> >> > </s:WindowedApplication> >> > >> > HTH, >> > Frédéric THOMAS >> > >> > > Date: Sat, 7 Jun 2014 16:23:16 +0530 >> > > Subject: Fwd: Spark datagrid Issue. >> > > From: [email protected] >> > > To: [email protected] >> > > >> > > Any help in this regard.. >> > > >> > > -- >> > > Saju Thankathurai >> > > >> > > Sent from my Samsung Galaxy Ace. >> > > ---------- Forwarded message ---------- >> > > From: "Saju Thankathurai" <[email protected]> >> > > Date: 7 Jun 2014 08:06 >> > > Subject: Spark datagrid Issue. >> > > To: "[email protected]" <[email protected]> >> > > >> > > Hi, >> > > >> > > I have a spark flex datagrid. I have set its horizontalscrollpolicy >> to off. >> > > When i scroll the header towards right completely, the header is >> moved and >> > > is not visible. This makes an impression that there are no more >> columns in >> > > the grid. >> > > >> > > Is there a way to restrict the columns to a certain limit towards >> right >> > > when scrolling >> > > >> > > Grid has 3 columns >> > > [1]. >> > > >> https://drive.google.com/file/d/0ByEkeIgKzyCaOXlVaDJ0ckhHLWM/edit?usp=sharing >> > > >> > > >> > > After scrolling the 2nd column towards right, It makes an impression >> that >> > > there is only one column available. >> > > [2] >> > > >> https://drive.google.com/file/d/0ByEkeIgKzyCaUkR4WV91cDE1Y0E/edit?usp=sharing >> > > >> > > Code: >> > > >> > > <?xml version="1.0" encoding="utf-8"?> >> > > <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" >> > > xmlns:s="library://ns.adobe.com/flex/spark" >> > > xmlns:mx="library://ns.adobe.com/flex/mx" >> > > initialize="initData()"> >> > > <fx:Script> >> > > <![CDATA[ >> > > import mx.collections.*; >> > > private var dgArray:Array = [ >> > > {Artist:'Pavement', Album:'Slanted and Enchanted', Price:11.99}, >> > > {Artist:'Pavement', Album:'Brighten the Corners', Price:11.99}]; >> > > [Bindable] >> > > public var initDG:ArrayCollection; >> > > // Initialize initDG variable from the Array. >> > > public function initData():void { >> > > initDG = new ArrayCollection(dgArray); >> > > } >> > > ]]> >> > > </fx:Script> >> > > <s:DataGrid id="myGrid" >> > > width="350" height="200" >> > > dataProvider="{initDG}" >> > > horizontalScrollPolicy="off"/> >> > > </s:WindowedApplication> >> > > >> > > >> > > >> > > -- >> > > >> > > Regards >> > > Saju Thankathurai, >> > >> >> > > > > -- > > Regards > > Saju Thankathurai, > > > -- Regards Saju Thankathurai,
