<?xml version="1.0" encoding="UTF-8" ?>
<dt-option group="callback">
	<name>rowCallback</name>
	<summary>Row draw callback.</summary>
	<since>1.10</since>

	<type type="function">
		<signature>rowCallback( row, data, index )</signature>
		<parameter type="node" name="row">
			`tag TR` element being inserted into the document.
		</parameter>
		<parameter type="array|object" name="data">
			Data source for the row. **Important**: This parameter is the original data source object that is used for the  row. If you are using objects, then `data` is an object - if you are using arrays, then `data` is an array. Thus how you obtain the data from this parameter will depend on how the DataTable is configured.
		</parameter>
		<parameter type="integer" name="index">
			DataTables' internal index for the row - see `dt-api row().index()`.
		</parameter>
		<scope>HTML table element</scope>
	</type>

	<description>
		This callback allows you to 'post process' each row after it have been generated for each table draw, but _before_ it is rendered into the document. This means that the contents of the row might not have dimensions (`$().width()` for example) if it is not already in the document.

		This function might be used for setting the row class name or otherwise manipulating the row's `-tag tr` element (although note that `dt-init createdRow` can often be more efficient).
	</description>

	<example title="Highlight cells based on their content (object data source)"><![CDATA[
$('#example').dataTable( {
  "rowCallback": function( row, data, index ) {
    if ( data.grade == "A" ) {
      $('td:eq(4)', row).html( '<b>A</b>' );
    }
  }
} );
]]></example>

	<example title="Highlight cells based on their content (array data source)"><![CDATA[
$('#example').dataTable( {
  "rowCallback": function( row, data, index ) {
    if ( data[4] == "A" ) {
      $('td:eq(4)', row).html( '<b>A</b>' );
    }
  }
} );
]]></example>

	<related type="option">drawCallback</related>
	<related type="option">createdRow</related>
</dt-option>