繁体   English   中英

如果列不匹配,则DataTable不起作用

[英]DataTable doesn't work if columns don't match

我有一张表,其中显示一行,另一行隐藏,但在单击时显示。

<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,但是看起来很难看。 我需要一个td,即colspan = 9 我还尝试过添加具有隐藏显示样式的8 td。 也没有奏效。

否则它将无法正常工作并产生错误:

Uncaught TypeError: Cannot set property '_DT_CellIndex' of undefined

有什么建议么?

每行(包括标题)中的列数必须相同。 如果最后一行不应该覆盖所有列。 您应该尝试使用CSS隐藏不需要的<td>

除非存在插件,否则我认为DataTables不可能实现您想要的一切。 在他们的手册中,他们确实有一些关于“行分组”的内容,但是我想他们的意思是“单元分组”而不是“ 行分组” 无论如何,示例中td与表其余部分的匹配量。

我不知道这是否会影响您,但是第一行有10个单元格,第二行和第三行有9个单元格。

数据表需要您定义的所有字段,并且在加载或获取数据后可以使用数据表的功能隐藏特定的列

像这样的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
}

您必须根据条件隐藏特定的列。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM