如何根据条件删除或删除jquery数据表中的行

时间:2017-01-19 06:31:53

标签: jquery datatables

我正在尝试根据某些条件从datatable中删除/删除行。我尝试了以下代码。

y2=700

似乎不起作用。虽然 rowCallback: function (row, data, index) { if (data["ServiceID"] == 0) { $(row).remove(); } }, 工作正常但它只是隐藏行不会删除或从数据表中删除它。

3 个答案:

答案 0 :(得分:1)

此功能不删除行,只是将其内部设置为空。

$(row).html("");// not deleting setting inside null.

您可以使用这种方式,在创建元素(初始化)时,您无法自行删除行,但您可以将其设置为null。如果要在初始化后删除,可以执行以下操作:

1)删除项目将它们添加到数组中;

2)初始化后,使用remove()函数从datatable中删除,然后使用draw函数重新绘制表格内容。

以前创建数据表的替代方法,删除未使用的数据。

答案 1 :(得分:0)

您需要使用redraw方法,删除后,您需要$(document).ready(function() { var table = $('#example').DataTable(); $('#example tbody').on( 'click', 'tr', function () { if ( $(this).hasClass('selected') ) { $(this).removeClass('selected'); } else { table.$('tr.selected').removeClass('selected'); $(this).addClass('selected'); } } ); $('#button').click( function () { table.row('.selected').remove().draw( false ); } ); } ); 表格

odbc_num_rows()

检查数据表删除行docs或工作jsfiddle

答案 2 :(得分:0)

您可以将fnDeleteRow功能与fnGetPosition功能结合使用。

 var ePos = oTable.fnGetPosition('THE_ROW_ELEMENT');   
 rowCallback: function (ePos, data, index) {
 if (data["ServiceID"] == 0) {
                oTable.fnDeleteRow(ePos);
            }
},         

我知道这是一种不同的方法,但认为它可能对你有帮助。

The answer to this question might help you to understand the functionality of these functions