function _fnGetCellData(settings, rowIdx, colIdx, type) {
		if (type === 'search') {
			type = 'filter';
		}
		else if (type === 'order') {
			type = 'sort';
		}

		var draw = settings.iDraw;
		var col = settings.aoColumns[colIdx];
		var rowData = settings.aoData[rowIdx]._aData;
		var defaultContent = col.sDefaultContent;
		var cellData = col.fnGetData(rowData, type, {
			settings: settings,
			row: rowIdx,
			col: colIdx
		});

		// Allow for a node being returned for non-display types
		if (type !== 'display' && cellData && typeof cellData === 'object' && cellData.nodeName) {
			cellData = cellData.innerHTML;
		}

		if (cellData === undefined) {
			if (settings.iDrawError != draw && defaultContent === null) {
				_fnLog(settings, 0, "Requested unknown parameter " +
					(typeof col.mData == 'function' ? '{function}' : "'" + col.mData + "'") +
					" for row " + rowIdx + ", column " + colIdx, 4);
				settings.iDrawError = draw;
			}
			return defaultContent;
		}

		// When the data source is null and a specific data type is requested (i.e.
		// not the original data), we can use default column data
		if ((cellData === rowData || cellData === null) && defaultContent !== null && type !== undefined) {
			cellData = defaultContent;
		}
		else if (typeof cellData === 'function') {
			// If the data source is a function, then we run it and use the return,
			// executing in the scope of the data object (for instances)
			return cellData.call(rowData);
		}

		if (cellData === null && type === 'display') {
			return '';
		}

		if (type === 'filter') {
			var fomatters = DataTable.ext.type.search;

			if (fomatters[col.sType]) {
				cellData = fomatters[col.sType](cellData);
			}
		}

		return cellData;
	}
Get the data for a given cell from the internal cache, taking into account data mapping
 @param {object} settings dataTables settings object
 @param {int} rowIdx aoData row id
 @param {int} colIdx Column index
 @param {string} type data get type ('display', 'type' 'filter|search' 'sort|order')
 @returns {*} Cell data
 @memberof DataTable#oApi