jquery 数据表插件有没有办法隐藏(和显示)表列?
我想出了如何重新加载表数据:使用fnClearTable
和fnAddData
。
但我的问题是,在我的表格视图之一(例如隐藏模式)中,我不想显示某些列。
jquery 数据表插件有没有办法隐藏(和显示)表列?
我想出了如何重新加载表数据:使用fnClearTable
和fnAddData
。
但我的问题是,在我的表格视图之一(例如隐藏模式)中,我不想显示某些列。
以前的答案使用旧的 DataTables 语法。在 v 1.10+ 中,您可以使用column().visible():
var dt = $('#example').DataTable();
//hide the first column
dt.column(0).visible(false);
要隐藏多列,可以使用columns().visible():
var dt = $('#example').DataTable();
//hide the second and third columns
dt.columns([1,2]).visible(false);
要在表初始化时隐藏列,可以使用columns选项:
$('#example').DataTable( {
'columns' : [
null,
//hide the second column
{'visible' : false },
null,
//hide the fourth column
{'visible' : false }
]
});
对于上述方法,您需要指定null
应保持可见且未指定其他列选项的列。或者,您可以使用columnDefs来定位特定列:
$('#example').DataTable( {
'columnDefs' : [
//hide the second & fourth column
{ 'visible': false, 'targets': [1,3] }
]
});
您可以通过以下命令隐藏列:
fnSetColumnVis( 1, false );
其中第一个参数是列的索引,第二个参数是可见性。
通过:http : //www.datatables.net/api - 函数fnSetColumnVis
如果有人再次来到这里,这对我有用...
"aoColumnDefs": [{ "bVisible": false, "aTargets": [0] }]
您可以在数据表初始化期间定义它
"aoColumns": [{"bVisible": false},null,null,null]
对于使用服务器端处理并使用隐藏列将数据库值传递到 jQuery 的任何人,我建议使用“sClass”参数。您将能够使用 css display: none 隐藏列,同时仍然能够检索其值。
css:
th.dpass, td.dpass {display: none;}
在数据表初始化中:
"aoColumnDefs": [ { "sClass": "dpass", "aTargets": [ 0 ] } ] // first column in visible columns array gets class "dpass"
//编辑:记住将隐藏的类也添加到你的 thead 单元格中