Since: DataTables 1.10

Get the DataTables cached data for the selected rows.


As of v2.0 this feature has been deprecated. This feature has not yet been scheduled for removal, but its use is discouraged and the alternatives discussed below should be used.

Use cells().render() to get the data for a specific rendering type, rather than accessing DataTables' cache. This method will be removed in DataTables 3.


DataTables caches data for searching and ordering in order for those operations to run as quickly as possible when they are required. Sometimes it can be useful to get the data that DataTables has cached for these operations (usually more usefully as column data using columns().cache() than on a per-row basis, but this method is included for completeness).

Cached data is not guaranteed to be available at any particular moment. If DataTables hasn't requested the data, it won't have been cached. This is particularly obvious when using the order option and a sort hasn't been performed on a column. Invalidation of data will also cause the cache to be removed.

Please note that the order of the data in the returned array and which rows the data is obtained from (searched rows, visible rows etc) is controlled by the selector-modifier option of the rows() selector used to get the selected rows.


function rows().cache( [ type ] )


Obtain the data for the columns rows the selector


DataTables API instance with data for each cell in the selected columns in the result set. This is a 2D array with the top level array entries for each row matched by the columns() selector and the inner arrays representing the cached data for each column (by column data index).


The following options are directly related and may also be useful in your application development.