DataTable响应显示某些列

时间:2017-04-07 08:44:53

标签: jquery datatables datatables-1.10

我正在使用DataTablesresponsive,并在尝试仅显示某些列时遇到问题。

表格布局如下: enter image description here

我需要只显示'Column 1', 'Column3', 'Column 7', 'Column 8', 'Column 10'并隐藏其他人(这些应该通过每行末尾的展开控件显示)。

JS:

  $( 'table' ).DataTable( {
      order: [ [ 0, "asc" ] ],
        responsive: {
            details: {
                type: 'column',
                target: 'tr'
            }
        },
        columnDefs: [ {
            className: 'control',
            orderable: false,
            targets: -1
        } ]
    } );

这是JSFiddle。任何建议!

3 个答案:

答案 0 :(得分:18)

要在响应式数据表中显示特定列,您只需在表格th中添加 Class Controls ,如下所示:

<table class="table table-hover table-striped">
  <thead>
    <tr>
      <th class="all">Column 1</th>
      <th class="none">Column 2</th>
      <th class="all">Column 3</th>
      <th class="none">Column 4</th>
      <th class="none">Column 5</th>
      <th class="none">Column 6</th>
      <th class="all">Column 7</th>
      <th class="all">Column 8</th>
      <th class="none">Column 9</th>
      <th class="all">Column 10</th>
      <th class="none">Column 11</th>
      <th class="all"></th>
    </tr>
  </thead>

类“全部”:无论屏幕大小如何,始终显示列。

class“none”:不要显示为列,而是显示在子行中。

Source

Here 是其工作演示。

答案 1 :(得分:1)

看起来你需要this

  

列优先级也可以由列标题单元格上的数据优先级属性定义(例如,名字)。

答案 2 :(得分:0)

搜索文档后,我遇到了this

none - Don't display as a column, but show in the child row

这解决了!