当数据表的来源是javascript时,您知道如何隐藏或显示列吗?
显示或隐藏列的方法
table = $('#example').DataTable();
var col = table.column("0").visible(false);
当数据源直接进入html时工作
<table id="example" class="row-border hover">
<thead>
<tr>
<th>Name</th>
<th>Position</th>
<th>Office</th>
<th>Age</th>
<th>Start date</th>
<th>Salary</th>
</tr>
</thead>
<tbody>
<tr>
<td>Tiger Nixon</td>
<td>System Architect</td>
<td>Edinburgh</td>
...
但是当DataTable有一个javascript源
时,它不起作用并启动错误 var table = $('#example').dataTable({
"data": source,
"columns": columns,
"columnDefs": defs
});
var col = table.column("0").visible(false);//ERROR!
你知道如何用javascript源隐藏一列Datatables吗?
答案 0 :(得分:1)
尝试这样的事情,
var table = $('#example').dataTable({
"data": source,
"columns": columns,
"columnDefs": [
{
"targets": [ 0 ],
"visible": false,
},
"fnRowCallback": function(nRow, aData, iDisplayIndex, iDisplayIndexFull )
{
$('td:eq(0)', nRow).hide();
}
});
更新。尝试添加fnRowCallback。谢谢!
答案 1 :(得分:1)
我终于找到了另一个答案:它不依赖于html或json源,但DataTable()是新版本与dataTable()旧版本
之间存在差异column(n).visible(bool)
适用于DataTable()
fnRowCallback
适用于dataTable()