                     
                 case CollectionEventKind.RESET:
                 {
+                    for (index = 0; index < columns.length; index++)
+                    {
+                        column = GridColumn(columns.getItemAt(index));
+                        column.setGrid(this);
+                        column.setColumnIndex(index);
+                    }                     
                     break;
                 }                                
             }

            if (_columns == value)
                return;
            
            generatedColumns = false;
            setColumns(value);
        }
        

        
        private var _columns:IList = null; // list of GridColumns
        private var columnsChanged:Boolean = false;
        
        [Bindable("columnsChanged")]
        
