             }
         }
         
-        return bound(height, minRowHeight, maxRowHeight);
+        return (!isNaN(height)) ? bound(height, minRowHeight, maxRowHeight) : height;
     }
     
     /**

        if (nRows > 1)
            contentHeight += (nRows - 1) * rowGap;
        
        if (!isNaN(fixedRowHeight))
            return contentHeight + nRows * fixedRowHeight;
        
        if (rowList.length == 0)
            return contentHeight + nRows * defaultRowHeight;
        
        var node:GridRowNode = rowList.first;

        
        var index:int;
        
        if (!variableRowHeight || rowList.length == 0)
        {
            index = y / (defaultRowHeight + rowGap);
            return index < _rowCount ? index : -1;
