我正在使用DataTables和responsive,并在尝试仅显示某些列时遇到问题。
我需要只显示'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
。任何建议!
答案 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”:不要显示为列,而是显示在子行中。
Here 是其工作演示。
答案 1 :(得分:1)
看起来你需要this:
列优先级也可以由列标题单元格上的数据优先级属性定义(例如,名字)。
答案 2 :(得分:0)