datatables Migration from <1.10 to 1.10 and above Features Not available in Datatables 1.10+


The following 3 features (that were deprecated in 1.9) are no longer available in 1.10, they are :

  1. fnRender: According to the deverloper:

The old fnRender option provided a method of manipulating a cell when it was created. however, it was provided with a confusing list of options as its arguments, and required a particular structure in DataTables internally that caused performance issues. Removal of fnRender has lead to a significant improvement in performance of DataTables with large data sets and the ability to provide object instances to DataTables as data source objects (for example Knockout observable objects).

Alternatives to fnRender are available as columns.render and columns.createdCell

  1. bScrollInfinite: According to the developer:

The built-in ability of DataTables 1.9 to show an infinitely scrolling grid through the bScrollInfinite option has been removed due to the inconsistencies it caused in the API. Removal has also helped simply the internal code significantly.

An extension that goes by the name of Scroller is available as an alternative.

  1. Cookie based state saving:

Cookie based state saving has been replaced with localStorage based state saving in DataTables 1.10. Cookie's, with their 4KiB limit were very limited, and incurred a performance penalty since they were part of every HTTP request. localStorage is much faster and more flexible, and is used as the default storage for state information in DataTables 1.10.

  1. two_button pagination control:

DataTables 1.10 has significantly upgraded the paging controls of DataTables (see pagingType), a consequence of which is that the old built-in two_button form of paging has been removed.

They have taken care of people who still want to use the two_button pagination method by providing an extra javascript file called two_button.js. Usage is as follows:

Simply include this file in your document, after you load DataTables but before you initialise your table and the two_button pagination will be restored exactly as it was in 1.9 (including class names etc).