.withColVis()在angularjs中不工作

问题描述:

当我尝试在angularjs数据表中使用.withColVis()然后DTOptionsBuilder.fromSource(...).withPaginationType(...).withColVis is not a function错误生成。.withColVis()在angularjs中不工作

检查这个运动员。 plunkr link

如果我使用.withDOM()那么它工作。 检查这个plunker.

我还需要参考从官方网站check this link

帮我解决这个问题,我想在我的应用程序中使用.withColVis()

.withColVis()用于显示列列表。

.withColVis().withDOM('<"H"Cr>t<"F"ip>')执行相同的功能,如显示Show/Hide column选项。但.WithDOM()正在工作,并且.withColVis()不起作用。

不工作代码:

(function(angular) { 
    'use strict'; 
    angular.module('datatablesSampleApp', ['datatables']). 
    controller('simpleCtrl', function($scope, DTOptionsBuilder, DTColumnBuilder) { 
    $scope.dtOptions = DTOptionsBuilder.fromSource('data.json') 
     .withPaginationType('full_numbers') 
     // Active ColVis plugin 
     .withColVis() 
     // Add a state change function 
     .withColVisStateChange(function(iColumn, bVisible) { 
     console.log('The column' + iColumn + ' has changed its status to ' + bVisible) 
     }) 
     // Exclude the last column from the list 
     .withColVisOption('aiExclude', [2]); 
    $scope.dtColumns = [ 
     DTColumnBuilder.newColumn('id').withTitle('ID'), 
     DTColumnBuilder.newColumn('firstName').withTitle('First name'), 
     DTColumnBuilder.newColumn('lastName').withTitle('Last name') 
    ]; 
    }); 
})(angular); 

工作代码:

(function(angular) { 
    'use strict'; 

    angular.module('datatablesSampleApp', ['datatables']) 
    .controller('SimpleCtrl', SimpleCtrl); 

    function SimpleCtrl(DTOptionsBuilder, DTColumnBuilder) { 
    var vm = this; 
    vm.dtOptions = DTOptionsBuilder.newOptions() 
     .withOption('sAjaxSource', 'data.json') 
     .withDataProp('data') 
     .withDOM('<"H"Cr>t<"F"ip>') 
     .withPaginationType('full_numbers') 
     .withDisplayLength(10); 
    vm.dtColumns = [ 
     DTColumnBuilder.newColumn('id', 'ID'), 
     DTColumnBuilder.newColumn('firstName', 'First name'), 
     DTColumnBuilder.newColumn('lastName', 'Last name') 
    ]; 

    } 
})(angular); 

必须包括angular-datatables.colvis.js为了从分叉plnkr得到(废弃)ColVis插件工作,在这里:

<script src="https://rawgithub.com/l-lin/angular-datatables/v0.6.2/dist/plugins/colvis/angular-datatables.colvis.js"></script> 

注入datatables.colvis模块:

angular.module('datatablesSampleApp', ['datatables', 'datatables.colvis']). 

https://plnkr.co/edit/edZcE3DLjaDSuNhTu2MV?p=preview

+0

非常感谢你对你的帮助 –

+0

有可能挽救列的可见性状态? ,并且当用户访问该页面时再次呈现该状态? –

+0

@chiragsatapara,我不知道你是否使用'.withColVis'(它被弃用,从来没有与AD一起使用过它),但是当我使用'**按钮**和'.withOption('stateSave' ,true)'然后可见/隐藏的列自动被“记住”,存储在本地计算机上的localstorage中。我在任何地方使用AD,多个项目 - 所以它失败了。 – davidkonrad