我有一个HTML表,实际上我的网站上有很多表。
因此,我创建了一个名为datatable
的类,它满足了大多数通用表的需求。
对于导出(例如PDF和Excel),我设法排除了类别为ignore
的列。
我想动态排除带有ignore
类的列。
我想用ignore
类设置更多列,并避免过滤器经过这些列。
不一定会有button
或a
元素,因此请避免暗示我只是排除这些元素。
在特定情况下,我有一个名称Edit Valvasor
,并且我希望过滤器在过滤器中键入"Edit"
时查找行,而忽略带有Edit buttons
的列。
示例可在此处找到:http://jsfiddle.net/t1h9ugqa/
Javascript:
$(document).ready(function() {
$('.datatable').DataTable({
lengthMenu: [
[15, 25, 50, -1],
[15, 25, 50, "All"]
],
pageLength: 25,
dom: '<"html5buttons"B>lTfgitp',
aaSorting: [],
buttons: [{
extend: 'copy',
exportOptions: {
columns: ':not(.ignore)',
}
},
{
extend: 'csv',
exportOptions: {
columns: ':not(.ignore)',
}
},
{
extend: 'excel',
exportOptions: {
columns: ':not(.ignore)',
}
},
{
extend: 'pdf',
exportOptions: {
columns: ':not(.ignore)',
}
},
{
extend: 'print',
customize: function(win) {
$(win.document.body).addClass('white-bg');
$(win.document.body).css('font-size', '10px');
$(win.document.body).find('table')
.addClass('compact')
.css('font-size', 'inherit');
}
}
]
});
});
HTML:
<table class="datatable">
<thead>
<tr>
<th>ID</th>
<th>Name</th>
<th>Sum</th>
<th class="ignore"></th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Edit Valvasor</td>
<td>1034</td>
<td>
<a class="btn btn-primary" href="#">Edit</a>
</td>
</tr>
<tr>
<td>2</td>
<td>Samuel Grixis</td>
<td>655</td>
<td>
<a class="btn btn-primary" href="#">Edit</a>
</td>
</tr>
<tr>
<td>3</td>
<td>Martin Kempinsky</td>
<td>153</td>
<td>
<a class="btn btn-primary" href="#">Edit</a>
</td>
</tr>
</tbody>
</table>
答案 0 :(得分:0)
您可以添加:
columnDefs: [
{ searchable: false, targets: 3 }
],
示例中的代码如下:// target是列数
$('.datatable').DataTable({
lengthMenu: [
[15, 25, 50, -1],
[15, 25, 50, "All"]
],columnDefs: [
{ searchable: false, targets: 3 }
],
pageLength: 25,
dom: '<"html5buttons"B>lTfgitp',
aaSorting: [],
buttons: [{
extend: 'copy',
exportOptions: {
columns: ':not(.ignore)',
}