【发布时间】:2016-11-28 10:47:06
【问题描述】:
我正在为我的项目使用 Datatable 插件。我启用了 colvis 功能来帮助表格导出。现在我想使用以下脚本为用户隐藏几列:
columnDefs : [
{ targets: 1, visible: (department == '6')||(department == '0'),
"searchable": false,className:'none' }
]
它可以正常工作,就像列被隐藏并且也无法搜索一样。但由于我启用了 colvis ,列名在列表中可见,当用户选择隐藏列时,它将显示出来。任何人都可以建议我如何禁用列切换吗?
还尝试指定列以排除 colvis 但没有用。
columnDefs : [
{ targets: 1, visible: (department == '6')||(department == '0'),
"searchable": false,className:'never', responsive: false ,colVis: {
exclude: [ 1 ]
}},
],
下面是我完整的数据表脚本。
$('#page_effect').fadeIn(2000);
var table = $('#testTable').DataTable({
mark: true,
responsive: true,
"dom": 'flit',
columns: [
{className: "group1"},
{className: "group2"},
{className: "group1"},
{className: "group2"},
{className: "group2"},
{className: "group2"},
{className: "group2"},
{className: "group2"},
{className: "group2"},
{className: "group2"},
{className: "group2"},
{className: "group2"},
{className: "group2"},
{className: "group2"},
{className: "group2"},
{className: "group2"},
{className: "group2"},
{className: "group2"},
],
dom: 'Bfrtip',
buttons: [{
extend: 'collection',
text: "More options",
buttons: [
'pageLength',
{
extend: 'copyHtml5',
exportOptions: {
columns: ':visible'
}
},
{
extend: 'excelHtml5',
title: 'Book',
exportOptions: {
columns: ':visible'
}
},
{
extend: 'pdfHtml5',
title: 'Book',
exportOptions: {
columns: ':visible'
}
},
{
extend: 'print',
title: 'Book',
exportOptions: {
columns: ':visible'
}
},
{
extend: 'excel',
title: 'Book',
text: 'Export selected',
exportOptions: {
columns: ':visible',
modifier: {
selected: true
}
}
},
{
extend: 'columnToggle',
text: 'Toggle Group1',
columns: '.group1'
},
{
extend: 'columnToggle',
text: 'Toggle Group2',
columns: '.group2'
},
'colvis',
],
}],
dom: 'Bfrtip',
lengthMenu: [
[ 10, 25, 50, 250 ],
[ '10 rows', '25 rows', '50 rows', '250 rows' ]
],
columnDefs : [
{ targets: 1, hidden: (department == '6')||(department == '0'),
"searchable": false,className:'never', responsive: false ,
buttons:[
{
extend: 'colvis',
columns: ':gt(0)'
} ],
},
],
scrollY: 300,
scrollX: true,
scrollCollapse: true,
paging: true,
fixedColumns: true,
select: true,
});
【问题讨论】:
标签: javascript jquery datatable