2012-04-18 46 views
5

Quiero eliminar la fila de la tabla de datos. Este es el código de tablas de datos que uso:jQuery Datatables: cómo eliminar la fila

var aSelected = []; 

oTable = $('.itemPublished').dataTable({ 
    "bJQueryUI": true, 
    "sPaginationType": "full_numbers", 
    "bServerSide": true, 
    "bProcessing": true, 
    "sAjaxSource": "/item/datatable", 
    "bDeferRender": true, 
    "iDisplayLength":20, 
    "aLengthMenu": [[10, 20, 50, 75, 100, 150], [10, 20, 50, 75, 100, 150]], 
    "aoColumnDefs": [ 
      { "bSortable": false, "aTargets": [ 2, 3, 4 ] }, 
      { "sClass": "left", "aTargets": [ 1 ] } 
    ], 
    "fnRowCallback": function(nRow, aData, iDisplayIndex) { 
     if (jQuery.inArray(aData.DT_RowId, aSelected) !== -1) { 
      $(nRow).addClass('row_selected'); 
     } 
     $(nRow).addClass('gradeA'); 
     return nRow; 
    } 
}); 

Quería probar disparar un evento para eliminar una fila de la tabla de datos. El evento se desencadena por un botón que está fuera de la tabla de tablas de datos DOM. He intentado hacer esto:

$('.test').live('click', function() { 
    oTable.fnDeleteRow(0); 
}); 

Para comprobar si puede eliminar la primera fila de la tabla, pero no lo hace y ni produce ningún error. ¿Dónde estoy equivocado?

+0

http://stackoverflow.com/a/8254752/617373 – Daniel

Respuesta

7

encontró el siguiente comentario aquí: http://datatables.net/forums/discussion/6208/hyperlink-event-to-delete-row/p1:

"Puesto que usted está utilizando el procesamiento del lado del servidor, y fnDeleteRow sabe nada acerca de su entorno de servidor, es necesario realizar una llamada de Ajax al servidor para que se haga la eliminación y luego llame a fnDraw en la tabla para que se actualice con el nuevo conjunto de datos ".

+0

tiene la pista. gracias –

+2

@IbrahimAzharArmar: De nada. No es inmediatamente obvio, y todavía no veo esto mencionado en la documentación de 'fnDeleteRow'. – Stefan

Cuestiones relacionadas