I’m sure it is just a bug. Please file it. I would try doing it on creationComplete and follow up with a validateNow() call.
On 10/6/11 1:11 AM, "bhaq1972" <mbha...@hotmail.com> wrote: The problem doesn't exist if the code is executed in the preintialize or creationComplete event. However, I didn't want to mention that because it takes the focus away from what looks like a bug in initialize. Why would one column give a runtime error and the other not? Halo datagrid doesnt have this problem. In our scenario, some columns have no relevance to certain customers. Instead of removing the column from the mxml, we store the column info (in this case make invisible) in the database. During the datagrid initialze we make it invisible. The creationcomplete event would be too late because by then the column would have rendered (for a split second). Preinitialize would be ok...but other parts of my code (unrelated to this problem) are failing because preinitialize is too early. i can't bare any more code rewrites(but i suppose it keeps me in a job). --- In flexcoders@yahoogroups.com <mailto:flexcoders%40yahoogroups.com> , "valdhor" <valdhorlists@...> wrote: > > The column probably hasn't been created yet. Try the creationcomplete event > of the datagrid. > > --- In flexcoders@yahoogroups.com <mailto:flexcoders%40yahoogroups.com> , > "bhaq1972" <mbhaque@> wrote: > > > > I get a runtime error when I set the gridcolumn.visible property during a > > datagrid initialize event. There is no problem's > > if its the first gridcolumn. Looks like a bug? > > > > Can anyone suggest a workaround? > > > > > > <s:DataGrid initialize="makeColumnInvisible()"> > > <s:columns> > > <s:ArrayList> > > <s:GridColumn id="gc0" dataField="col0" headerText="col0"/> > > <s:GridColumn id="gc1" dataField="col1" headerText="col0"/> > > > > .. > > public function makeColumnInvisible():void > > { > > gc1.visible = false; // causes a RTE > > gc0.visible = false; // doesnt give a problem > > .. > > > > > > RangeError: Error #1125: The index 1 is out of range 0. > > at > > spark.components.gridClasses::GridDimensions/setTypicalCellWidth()[E:\dev\hero_private\frameworks\projects\spark\src\spark\components\gridClasses\GridDimensions.as:1325] > > at > > spark.components.gridClasses::GridDimensions/columns_visibleChangedHandler()[E:\dev\hero_private\frameworks\projects\spark\src\spark\components\gridClasses\GridDimensions.as:1840] > > at > > spark.components.gridClasses::GridDimensions/columnsCollectionChanged()[E:\dev\hero_private\frameworks\projects\spark\src\spark\components\gridClasses\GridDimensions.as:1800] > > at > > spark.components::Grid/columns_collectionChangeHandler()[E:\dev\hero_private\frameworks\projects\spark\src\spark\components\Grid.as:4429] > > at flash.events::EventDispatcher/dispatchEventFunction() > > at flash.events::EventDispatcher/dispatchEvent() > > at spark.components.gridClasses::GridColumn/set > > visible()[E:\dev\hero_private\frameworks\projects\spark\src\spark\components\gridClasses\GridColumn.as:1564] > > ... > > > -- Alex Harui Flex SDK Team Adobe System, Inc. http://blogs.adobe.com/aharui