数据表不会创建某些行

有一个回调不创建特定的行?

这是我的数据表对象:

$('#table').DataTable({ dom: "t", autoWidth: false, serverSide: true, aaSorting: [[8, 'desc']], beforeCreatedRow: function(row, data) { if ( data.field == "OFF" ) { // DON'T CREATE THIS ROW } }, rowId: 'id', lengthChange: false, iDisplayLength: 10, columns: [ {data: "column1"}, {data: "column2"}, {data: "column3"}, {data: "column4"}, {data: "column5"}, {data: "column6"} ] }); 

我仅使用beforeCreatedRow事件作为示例。 我不确定这个事件是否存在。 它只是告诉你我需要什么。

因此,如果data.field值为OFF,我可以看到我不需要创建行

我不会用无用的行填充DOM。 不要隐藏它们,只需跳过它们:

 ajax: { url: 'some/url/', dataSrc: function(d) { var data = d.filter(function(row) { if (row.field != "OFF") return row }) return data } } 

您可以通过挂钩到xhr.dt事件来删除xhr.dt 之前不需要的行:

 $('#example').on('xhr.dt', function(e, settings, json, xhr ) { json.data = json.data.filter(function(row) { if (row.field != 'OFF') return row }) }) 

在这里看一个演示 – > http://jsfiddle.net/g4h7950t/

注意:上面的示例使用的是{ data: [..] } src。 简直就是我手边的东西。

您可以使用类似这样的rowCallback方法

 var table = $('#table').DataTable({ "rowCallback": function(row, data, index){ if ( row.field == "OFF" ) { jQuery(row).hide(); } } }); 

这里有更多细节