En realidad no es una pregunta, sino quiero explicar como actualizar la tabla del plugin Datatables, www.datatables.net
Cuestión que me llevó a investigar toda documentación existente en la red.
Los registros se cargan una sola vez, y los manejo desde el lado del cliente (client-side), lo que significa que no utilizo el parametro bServerSide.
Mi objetivo era que una vez que se visualiza la tabla, ingreso un nuevo registro mediante ajax y que la tabla se refresque con los nuevos datos, todo esto sin cambiar de pagina.
Para ello se debe hacer uso del plugin fnReloadAjax.
Código PHP:
$.fn.dataTableExt.oApi.fnReloadAjax = function ( oSettings, sNewSource, fnCallback ) {
if ( typeof sNewSource != 'undefined' ) {
oSettings.sAjaxSource = sNewSource;
}
this.oApi._fnProcessingDisplay( oSettings, true );
var that = this;
$.getJSON( oSettings.sAjaxSource, null, function(json) {
/* Clear the old information from the table */
that.oApi._fnClearTable( oSettings );
/* Got the data - add it to the table */
for ( var i=0 ; i<json.aaData.length ; i++ ) {
that.oApi._fnAddData( oSettings, json.aaData[i] );
}
oSettings.aiDisplay = oSettings.aiDisplayMaster.slice();
that.fnDraw( that );
that.oApi._fnProcessingDisplay( oSettings, false );
/* Callback user function - for event handlers etc */
if ( typeof fnCallback == 'function' ) {
fnCallback( oSettings );
}
});
};
Cuando deseen actualizar la tabla llaman a dicha función.
Código PHP:
oTable.fnReloadAjax();
Espero que les sirva. Saludos!