admin/public/js/plugins/dataTables/jquery.dataTables.js
function _fnGetCellData( oSettings, iRow, iCol, sSpecific )
	{
		var oCol = oSettings.aoColumns[iCol];
		var oData = oSettings.aoData[iRow]._aData;
		var sData = oCol.fnGetData( oData, sSpecific );
	
		if ( sData === undefined )
		{
			if ( oSettings.iDrawError != oSettings.iDraw && oCol.sDefaultContent === null )
			{
				_fnLog( oSettings, 0, "Requested unknown parameter "+
					(typeof oCol.mData=='function' ? '{function}' : "'"+oCol.mData+"'")+
					" for row "+iRow, 4 );
				oSettings.iDrawError = oSettings.iDraw;
			}
			return oCol.sDefaultContent;
		}
	
		/* When the data source is null, we can use default column data */
		if ( (sData === oData || sData === null) && oCol.sDefaultContent !== null )
		{
			sData = oCol.sDefaultContent;
		}
		else if ( typeof sData === 'function' )
		{
			// If the data source is a function, then we run it and use the return
			return sData();
		}
	
		if ( sData === null && sSpecific == 'display' )
		{
			return '';
		}
		return sData;
	}
function _fnGetCellData( oSettings, iRow, iCol, sSpecific )
	{
		var oCol = oSettings.aoColumns[iCol];
		var oData = oSettings.aoData[iRow]._aData;
		var sData = oCol.fnGetData( oData, sSpecific );
	
		if ( sData === undefined )
		{
			if ( oSettings.iDrawError != oSettings.iDraw && oCol.sDefaultContent === null )
			{
				_fnLog( oSettings, 0, "Requested unknown parameter "+
					(typeof oCol.mData=='function' ? '{function}' : "'"+oCol.mData+"'")+
					" for row "+iRow, 4 );
				oSettings.iDrawError = oSettings.iDraw;
			}
			return oCol.sDefaultContent;
		}
	
		/* When the data source is null, we can use default column data */
		if ( (sData === oData || sData === null) && oCol.sDefaultContent !== null )
		{
			sData = oCol.sDefaultContent;
		}
		else if ( typeof sData === 'function' )
		{
			// If the data source is a function, then we run it and use the return
			return sData();
		}
	
		if ( sData === null && sSpecific == 'display' )
		{
			return '';
		}
		return sData;
	}
function _fnGetCellData ( oSettings , iRow , iCol , sSpecific ) { var oCol = oSettings . aoColumns [ iCol ] ; var oData = oSettings . aoData [ iRow ] . _aData ; var sData = oCol . fnGetData ( oData , sSpecific ) ; if ( sData === undefined ) { if ( oSettings . iDrawError != oSettings . iDraw && oCol . sDefaultContent === null ) { _fnLog ( oSettings , 0 , "Requested unknown parameter " + ( typeof oCol . mData == 'function' ? '{function}' : "'" + oCol . mData + "'" ) + " for row " + iRow , 4 ) ; oSettings . iDrawError = oSettings . iDraw ; } return oCol . sDefaultContent ; } /* When the data source is null, we can use default column data */ if ( ( sData === oData || sData === null ) && oCol . sDefaultContent !== null ) { sData = oCol . sDefaultContent ; } else if ( typeof sData === 'function' ) { // If the data source is a function, then we run it and use the return
 return sData ( ) ; } if ( sData === null && sSpecific == 'display' ) { return '' ; } return sData ; }
Get the data for a given cell from the internal cache, taking into account data mapping
@param {object} oSettings dataTables settings object
@param {int} iRow aoData row id
@param {int} iCol Column index
@param {string} sSpecific data get type ('display', 'type' 'filter' 'sort')
@returns {*} Cell data
@memberof DataTable#oApi
Get the data for a given cell from the internal cache taking into account data mapping