AngularJS Datatable从列可见性中排除列

时间:2019-07-17 03:24:16

标签: angularjs datatables angular-datatables

我正在处理datatable列的可见性,但是我不希望所有表列都显示在可见性下拉列表中,只需要显示几个

我已经尝试使用DTColumnDefBuilder.newColumnDef(0).withTitle('Name')。notVisble(),但是它删除了没有解决问题的列

html代码

<table class="table table-striped  dataTable no-footer dtr-inline" datatable="ng" dt-options="dataDtOptions" dt-instance="dataDtInstance"  width="100%"  dt-columns="dataDtColumns" dt-column-defs="dataDtColumnDefs">
<thead>
<tr>
<th>column1</th>                            
<th>column2</th>                                 
<th>column3</th>                                    
<th>column4</th>                                                                         
<th>column5</th>                                    
<th>column6</th>                                    
</tr>
</thead>
<tbody>
<tr style="cursor:pointer"  ng-repeat="data  in datas" >
<td>{{data[0]}}</td>
<td>{{data[1]}}</td>
<td>{{data[2]}}</td>
<td>{{data[3]}}</td>
<td>{{data[5]}}</td>
<td>{{data[6]}}</td>
 </tr>
</tbody> 
 </table>

angulajs代码

$scope.dataDtOptions = DTOptionsBuilder.newOptions()
.withDOM("<'row'<'col-sm-5'l><'col-sm-2 width-200 pull-right'B><'col-sm-5 pull-right'f>>" +"<'row'<'col-md-12't>>" +"<'row'<'col-sm-5'i><'col-sm-7'p>>")
.withPaginationType('full_numbers')
.withButtons([
    'colvis',
     {
        extend: 'collection',
        text: 'Export',
        buttons: [
            'csv',
            'pdf'
        ]
    }
]);

$scope.dataDtColumnDefs = [
 DTColumnDefBuilder.newColumnDef(0).withTitle('column1'),
 DTColumnDefBuilder.newColumnDef(1).withTitle('column2'),
 DTColumnDefBuilder.newColumnDef(2).withTitle('column3'),
 DTColumnDefBuilder.newColumnDef(3).withTitle('column4'),
 DTColumnDefBuilder.newColumnDef(4).withTitle('column5'),
 DTColumnDefBuilder.newColumnDef(5).withTitle('column6'),
 ]

所以我不希望列可见性下拉列表中的第一列和最后一列

1 个答案:

答案 0 :(得分:0)

您可以执行以下操作:

DTColumnBuilder.newColumnDef(0).withClass('hidden')

在CSS中(如果尚未安装引导程序的话)

.hidden { display: none; }