2012-04-18 82 views
5

我想从数据表中删除行。这里是我使用的数据表代码:jQuery的数据表:如何删除行

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; 
    } 
}); 

我想测试一个事件来从数据表中删除一行。该事件由datatables表DOM外部的按钮触发。我试着这样做:

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

要检查它是否可以从表中删除第一行,但它不会,也不会产生任何错误。我哪里错了?

+0

http://stackoverflow.com/a/8254752/617373 – Daniel 2012-04-19 08:13:11

回答

7

发现以下在这里评论:http://datatables.net/forums/discussion/6208/hyperlink-event-to-delete-row/p1

“由于您使用的服务器端处理,并fnDeleteRow什么都不知道关于你的服务器端环境中,你需要做一个Ajax调用服务器为它做删除操作,然后在表上调用fnDraw,以便使用新的数据集进行刷新。“

+0

得到了提示。谢谢 – 2012-04-18 17:45:12

+2

@IbrahimAzharArmar:不客气。这并不是很明显,我仍然没有看到'fnDeleteRow'文档中提到的这一点。 – Stefan 2012-04-18 18:27:50