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,

Reply via email to