如何隐藏DataTables中的某些行

时间:2016-03-06 08:30:48

标签: javascript datatables

我有使用ajax作为数据源的数据表,我也有一个包含几个row_id的数组,我想显示row_id不在这个数组中的行。

我该怎么做?

我有搜索数据表文档,并尝试了许多函数/回调,它们都不起作用。

1 个答案:

答案 0 :(得分:1)

您可以非常轻松地设置custom filter,以便在您想要的任何条件之后永久排除(或隐藏)某些行:

var excluded_row_ids = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43]

$.fn.dataTable.ext.search.push(function(settings, data, dataIndex) {
   //assuming the row_id is located in first column
   return (!~excluded_row_ids.indexOf(parseInt(data[0]))) 

   //or for example compare to dataIndex, i.e. original insert order
   //return (!~excluded_row_ids.indexOf(dataIndex))
})

如果由于某种原因想要包含排除的行,只需删除过滤器:

$.fn.dataTable.ext.search.pop()

演示 - >的 http://jsfiddle.net/pcwf6tuh/