Javascript 如何在Datatable的特定列处于隐藏状态时禁用列切换?
我正在为我的项目使用Datatable插件。我已经启用了colvis功能来帮助表导出。现在,我想使用以下脚本为用户隐藏一些列:Javascript 如何在Datatable的特定列处于隐藏状态时禁用列切换?,javascript,jquery,datatable,Javascript,Jquery,Datatable,我正在为我的项目使用Datatable插件。我已经启用了colvis功能来帮助表导出。现在,我想使用以下脚本为用户隐藏一些列: columnDefs : [ { targets: 1, visible: (department == '6')||(department == '0'), "searchable": false,className:'none' } ] 它工作得很好,就像列是隐藏的,它也不可搜索。但由于我启用了colvis,列名在列表中是可见的,当用户选择hidden
columnDefs : [
{ targets: 1, visible: (department == '6')||(department == '0'),
"searchable": false,className:'none' }
]
它工作得很好,就像列是隐藏的,它也不可搜索。但由于我启用了colvis,列名在列表中是可见的,当用户选择hidden column时,它将显示出来。有谁能建议我如何禁用列切换吗
还尝试指定列以排除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,
});
您需要指定colvis要切换哪些列 退房 因为您知道要隐藏id为1的列,所以需要向DataTable添加额外的选项
colVis: {
exclude: [ 1 ]
}
编辑:
试着替换
'colvis',
借
和删除
buttons:[{
extend: 'colvis',
columns: ':gt(0)'
}],
在代码的底部,您需要指定colvis要切换哪些列 退房 因为您知道要隐藏id为1的列,所以需要向DataTable添加额外的选项
colVis: {
exclude: [ 1 ]
}
编辑:
试着替换
'colvis',
借
和删除
buttons:[{
extend: 'colvis',
columns: ':gt(0)'
}],
从代码底部开始谢谢@JiFus。如上所述,我已经试过了。但是没用。谢谢你,吉福斯!!:D@Jcc.Sanabria很高兴3年后它帮助了你……:)谢谢@JiFus。如上所述,我已经试过了。但是没用。谢谢你,吉福斯!!:D@Jcc.Sanabria很高兴3年后它帮助了你……:)