<?xml version="1.0" encoding="UTF-8" ?>
<dt-api group="rows">
	<name>rows().cache()</name>
	<summary>Get the DataTables cached data for the selected rows.</summary>
	<since>1.10</since>

	<type type="function">
		<signature>rows().cache( [ type ] )</signature>
		<description>Obtain the data for the columns rows the selector</description>
		<parameter type="string" name="type" default="order">
			Specify which cache the data should be read from. Can take one of two values: `dt-string search` or `dt-string order`. Defaults to `order` if no value is given.
		</parameter>
		<returns type="DataTables.Api">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 `dt-api columns()` selector and the inner arrays representing the cached data for each column (by column data index).</returns>
	</type>

	<description>
		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 `dt-api 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 `-string order` option and a sort hasn't been performed on a column. Invalidation of data will also cause the cache to be removed.

		It should be noted that this method is required as DataTables has the ability to use different data for its different operations (searching, ordering, display etc) - see `dt-init columns.data` and `dt-init columns.render` for further information. If you don't want the cached data, `dt-api rows().data()` provides access to the original data array / object given to, or created by DataTables. If you aren't using orthogonal data for the different operations of DataTables, then this method is of limited used.

		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 `dt-type selector-modifier` option of the `dt-api rows()` selector used to get the selected rows.

		Note that this method is primarily aimed at plug-in developers who require access to the internal data that DataTables has stored.
	</description>

	<related type="api">row().cache()</related>
</dt-api>