                 /** Old code assumed that the property would be a simply name that could be dereferenced
                   * through array notation. Using a method call here provides, minimally, an override
                   * point where developers could extend this functionality in their own datagrid subclass **/
-                if (property != null && getCurrentDataValue( data, property ) !== newData)
-                {
-                    bChanged = setNewValue( data, property, newData, event.columnIndex );
+                if (getCurrentDataValue(data, property) !== newData)
+                {
+                    bChanged = setNewValue(data, property, newData, event.columnIndex);
+					
+					if (property == null)
+						collection[event.rowIndex] = newData;
                 }
                 if (bChanged && !(data is IPropertyChangeNotifier || data is XML))
                 {

                var newData:Object = itemEditorInstance[_columns[event.columnIndex].editorDataField];
                var property:String = _columns[event.columnIndex].dataField;
                var data:Object = event.itemRenderer.data;
                var typeInfo:String = "";
                for each(var variable:XML in describeType(data).variable)
                {
                    if (property == variable.@name.toString())
                    {

    /**
     *  @private
     */ 
    protected function isComplexColumn(property:String):Boolean
    {
        return property != null && property.indexOf( "." ) != -1;
    }

    //Gets the reference to the parent object where a property will be updated
