我有一个显示一行的表,另一行是隐藏的,但显示在onclick上。
<table cellspacing="0" id="datatable" class="table table-responsive table-striped table-bordered" style="width: 1300px; margin-bottom: 50px">
<thead>
<tr>
<th>#</th>
<th>1</th>
<th>2</th>
<th>3</th>
<th>4</th>
<th>5</th>
<th>6</th>
<th>7</th>
<th>8</th>
<th>9</th>
</tr>
</thead>
<tbody>
<tr>
<td>#</td>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>5</td>
<td>6</td>
<td>8</td>
<td>9</td>
</tr>
<tr>
<td colspan="9" id="break_{{$t->BreakID}}" style="display: none;"></td>
</tr>
</tbody>
</table>
如果删除此行,DataTable功能将起作用:
<tr>
<td colspan="9" id="break_{{$t->BreakID}}" style="display: none;"></td>
</tr>
或者如果我添加8个td以匹配前一行的th,但它看起来很难看。我需要一个colspan = 9
的td。我还试图添加8个隐藏显示风格的td。它也没有成功。
否则它不起作用并产生错误:
Uncaught TypeError: Cannot set property '_DT_CellIndex' of undefined
有什么建议吗?
答案 0 :(得分:0)
每行必须包含相同数量的列,包括标题。
如果最后一行不应覆盖所有列。您应该尝试使用CSS隐藏不需要的<td>
。
除非存在插件,否则我认为DataTables无法实现您想要的功能。在他们的手册中,他们确实有关于“行分组”的内容,但我猜他们的意思是“单元格分组”而不是Row grouping?无论如何,在示例中,td的数量与表的其余部分匹配。
答案 1 :(得分:0)
我不知道这是否会影响,但第一行有10个单元格,第二行有9个单元格,第三行有9个单元格。
答案 2 :(得分:0)
数据表需要您定义的所有字段,加载或数据提取后,您可以使用数据表的函数隐藏特定列
在js文件中这样
usercheck是我的用户角色检查变量。
if (usercheck == 3)
{
data_table.column(6).visible(false);//data_table is variable of data-table and here is the code to hide column in data-table
}
你必须在条件下隐藏特定的列。