One cause of this error is if any of your columns contains markup with TD tags. rather than use row.cells, the getColumnData() function uses a jQuery selector which will return the TD tags in your column markup, and it overflows the bounds of the column model array. Had fun with this one today.