function invalidateCell(row, cell) {
      // Get the old row/colspan for this cell:
      var spanRow = cellSpans[row];
      var spanCell = spanRow && spanRow[cell];
      var oldRowspan = (spanCell && spanCell.rowspan) || 1;
      var oldColspan = (spanCell && spanCell.colspan) || 1;

      // Get the new row/colspan for this cell:
      var rowMetadata = data.getItemMetadata && data.getItemMetadata(row, false);
      var columnMetadata = rowMetadata && rowMetadata.columns && (rowMetadata.columns[columns[cell].id] || rowMetadata.columns[cell]);
      var rowspan = (columnMetadata && columnMetadata.rowspan) || 1;
      var colspan = (columnMetadata && columnMetadata.colspan) || 1;

      var span = {
        row: row, 
        cell: cell, 
        rowspan: Math.max(rowspan, oldRowspan), 
        colspan: Math.max(colspan, oldColspan)
      };
      invalidateCellSpan(span);
    }
// Invalidate the entire row/colspan area covered by the cell
Invalidate the entire row/colspan area covered by the cell
Invalidate the entire row / colspan area covered by the cell
function invalidateCell(row, cell) {
      var spanRow = cellSpans[row];
      var spanCell = spanRow && spanRow[cell];
      var oldRowspan = (spanCell && spanCell.rowspan) || 1;
      var oldColspan = (spanCell && spanCell.colspan) || 1;
      var rowMetadata = data.getItemMetadata && data.getItemMetadata(row, false);
      var columnMetadata = rowMetadata && rowMetadata.columns && (rowMetadata.columns[columns[cell].id] || rowMetadata.columns[cell]);
      var rowspan = (columnMetadata && columnMetadata.rowspan) || 1;
      var colspan = (columnMetadata && columnMetadata.colspan) || 1;
      var span = {
        row: row, 
        cell: cell, 
        rowspan: Math.max(rowspan, oldRowspan), 
        colspan: Math.max(colspan, oldColspan)
      };
      invalidateCellSpan(span);
    }
function invalidateCell ( row , cell ) { var spanRow = cellSpans [ row ] ; var spanCell = spanRow && spanRow [ cell ] ; var oldRowspan = ( spanCell && spanCell . rowspan ) || 1 ; var oldColspan = ( spanCell && spanCell . colspan ) || 1 ; var rowMetadata = data . getItemMetadata && data . getItemMetadata ( row , false ) ; var columnMetadata = rowMetadata && rowMetadata . columns && ( rowMetadata . columns [ columns [ cell ] . id ] || rowMetadata . columns [ cell ] ) ; var rowspan = ( columnMetadata && columnMetadata . rowspan ) || 1 ; var colspan = ( columnMetadata && columnMetadata . colspan ) || 1 ; var span = { row : row , cell : cell , rowspan : Math . max ( rowspan , oldRowspan ) , colspan : Math . max ( colspan , oldColspan ) } ; invalidateCellSpan ( span ) ; }
Invalidate the entire row/colspan area covered by the cell
Invalidate the entire row / colspan area covered by the cell
// Get the old row/colspan for this cell: // Get the new row/colspan for this cell: