Как использовать ColumnFilter или LightColumnFilter с ошибкой angular-datatables b.dataTable.columnFilter не является функцией

Я хочу использовать columnFilter или LightColumnFilter с angular-datatables, но получаю следующую ошибку b.dataTable.columnFilter is not a function

Я знаю, что в примере веб-сайта https://l-lin.github.io/angular-datatables/#/withColumnFilter показывает, что вам нужно добавить эти скрипты

<script src="vendor/datatables-columnfilter/js/dataTables.columnFilter.js"></script>
<script src="vendor/angular-datatables/dist/plugins/columnfilter/angular-datatables.columnfilter.min.js"></script>

Но поскольку этот пример был сделан некоторое время назад, я считаю, что первый скрипт dataTables.columnFilter.js больше не доступен в более поздних версиях jquery datatables.

Я использую jquery Datatables 1.10.12 и

angular-datatables 0.5.5 and angularJs 1.5.7

вот как я создаю свою таблицу

vm.dtOptionsEstatus = DTOptionsBuilder.fromSource('data')
                    .withPaginationType('full_numbers')
                    .withOption('createdRow', createdRow)
                    .withOption('stateSave', true)
                    .withColumnFilter({
                        '0': {
                            type: 'text'
                        },
                        '1': {
                            type: 'text'
                        },
                        '2': {
                            type: 'text'
                        },
                        '3': {
                            type: 'text'
                        },
                        '4': {
                            type: 'text'
                        }
                    })
                    // Add Bootstrap compatibility
                    .withBootstrap()


    // Active Responsive plugin
//                        .withOption('responsive', true)
                        .withScroller()
//                        .withOption('scrollY', 100)
                        .withOption('scrollX', 200)
//                        .withOption('bFilter', false)
                        ;

person Bill_Data23    schedule 11.08.2016    source источник


Ответы (2)


У меня была проблема с библиотекой, загруженной с помощью Bower. библиотека, загруженная по следующим ссылкам, исправила мою проблему.

<script src="http://l-lin.github.io/angular-datatables/archives/vendor/datatables-light-columnfilter/dist/dataTables.lightColumnFilter.min.js"></script> <script src="http://l-lin.github.io/angular-datatables/archives/dist/plugins/light-columnfilter/angular-datatables.light-columnfilter.js"></script> 

для получения дополнительной информации https://github.com/l-lin/angular-datatables/issues/928

person dnyanesh    schedule 11.05.2017

Библиотека dataTables.columnFilter.js не является частью стандартных плагинов для таблиц данных и поэтому недоступна в CDN, где вы обычно получаете другие плагины для таблиц данных. Вы можете получить его отсюда https://github.com/RobinDev/jquery.dataTables.columnFilter.js/tree/master

Также убедитесь, что ваше приложение зависит от модуля datatables.columnfilter.

angular.module('showcase.withColumnFilter', ['datatables', 'datatables.columnfilter']).controller('WithColumnFilterCtrl', WithColumnFilterCtrl);
person Shane Rowatt    schedule 25.08.2016