anchor.diff:      
       addComponent(gridGroup);
       
  -    spreadsheet.dataProvider = _createNewDataProvider(0);
  +    spreadsheet.dataProvider = new ObservableList<Row<Cell>>.from(_createRows(0));
       
       _updateOverlay();
     }
  
positive.code:   //
    //---------------------------------
    
    ObservableList<Row<Cell>> _createNewDataProvider(int startRowIndex) =>
      new ObservableList<Row<Cell>>.from(
          new List<Row<Cell>>.generate(initRows, (int rowIndex) => _createRow(startRowIndex + rowIndex))
      );
    
    ObservableList<DataGridColumn> _createGridColumns() {
      final ObservableList<DataGridColumn> list = new ObservableList<DataGridColumn>.from(
  
negative.code:     final int startIndex = spreadsheet.scrollPosition ~/ spreadsheet.rowHeight;
      
      if (spreadsheet.scrollPosition > (spreadsheet.rowHeight * spreadsheet.dataProvider.length - spreadsheet.height) * .95) 
        spreadsheet.dataProvider.addAll(_createRows(spreadsheet.dataProvider.length));
      
      final List<Row<Cell>> columnListDataProvider = new List<Row<Cell>>.generate(columnList.lockIndex, (int i) => spreadsheet.dataProvider[i]);
      
  