NOTA: Estoy usando Bootstrap 1, no 2: pero podría funcionar para usted.
Después de mucho ensayo y error, esta es la función añadí para obtener el dataTable volver a dibujar cuando se hace clic en la ficha correcta (sin quejándose de la redibujado, tampoco):
$(function() {
$('a[href="#tab2"]').live('click', function() {
var oTable = $('#dataTables4').dataTable();
oTable.fnDraw();
});
});
Aquí está mi código dataTable. Tenga en cuenta la devolución de llamada que asegura que la tabla se extrae por completo antes de que se muestre:
$('#loadingT').show();
$('#dataTables4').dataTable({
"fnDrawCallback":function(){
$('#loadingT').hide();
$(".dataListT").fadeIn(2000);
},
"bPaginate": false,
"bScrollCollapse": true,
"sScrollY": "305px",
"aaSorting": [[ 2, "desc" ],[3, "desc"]],
"sDom": "<'row'<'span16'f>>t<'row'i<'span8'><'span8'>>",
"aoColumns": [
{ "bSortable": false },
null,
null,
null,
null,
{ "iDataSort": 6 },
{"bVisible": false},
{"bVisible": false},
null
],
"fnFooterCallback": function (nRow, aaData, iStart, iEnd, aiDisplay) {
/* Calculate the total transactions on this page */
var total = 0;
for (var i=iStart ; i<iEnd ; i++)
{
total += aaData[ aiDisplay[i] ][7]* 1;
}
var nCells = nRow.getElementsByTagName('th');
nCells[1].innerHTML = total;
$(nCells[1]).formatCurrency({negativeFormat:'%s-%n'});
}
}).rowGrouping({
iGroupingColumnIndex: 1,
sGroupingColumnSortDirection: "desc",
iGroupingOrderByColumnIndex: 2
});
Espero que esto ayude.
Sí, lo he hecho. Tuve que hacer algunos arreglos para detectar si la tabla ya se ha procesado porque DataTables se quejará de volver a renderizarse. Entonces este es un buen truco, pero no una solución. Gracias. – Gregg
Marcado como la respuesta a menos que/hasta que surja una solución no pirata. – Gregg