2015-12-04 2 views
3

Я использую угловые данные (https://github.com/l-lin/angular-datatables) с обработкой на стороне сервера, все работает нормально, если я не добавил фильтр столбцов. Но как только я добавлю параметр withColumnFilter, тогда поиск, разбиение на страницы и записи на странице перестают работать.columnFilter плагин не работает с Angular DataTables Обработка на стороне сервера

Вот мой HTML часть:

<div class="container-fluid"> 
<table datatable="" dt-options="vm.dtOptions" dt-columns="vm.dtColumns" class="row-border hover"> 
<tfoot> 
<tr> 
    <th>First Name</th> 
    <th>Last Name</th> 
    <th>Email ID</th> 
    <th>Phone Number</th> 
</tr> 
</tfoot> 
</table> 
</div> 

JS Часть:

(function() { 
'use strict'; 

angular 
.module('com.module.users') 
.controller('UserCtrl', UserCtrl); 

UserCtrl.$inject = ['$state', '$rootScope', 'ENV', 'DTOptionsBuilder', 'DTColumnBuilder']; 
function UserCtrl($state, $rootScope, ENV, DTOptionsBuilder, DTColumnBuilder) { 
var vm = this; 

vm.currentPageState = $state.current.stateDesc; 

vm.dtOptions = DTOptionsBuilder.newOptions() 
    .withOption('ajax', { 
    url: ENV.apiUrl + vm.currentPageState.rUrl + '/users', 
    type: 'POST', 
    headers: { 
     Authorization: 'Bearer ' + $rootScope.globals.currentAdmin.token 
    } 
    }) 
    .withDataProp('data') 
    .withOption('processing', true) 
    .withOption('serverSide', true) 
    .withPaginationType('full_numbers') 
    .withBootstrap() 
    .withColumnFilter({ 
    aoColumns: [{ 
     type: 'text', 
     bRegex: true, 
     bSmart: true 
    }, { 
     type: 'text', 
     bRegex: true, 
     bSmart: true 
    }, { 
     type: 'text', 
     bRegex: true, 
     bSmart: true 
    }, { 
     type: 'text', 
     bRegex: true, 
     bSmart: true 
    }] 
    }); 

vm.dtColumns = [ 
    DTColumnBuilder.newColumn('firstName').withTitle('First name'), 
    DTColumnBuilder.newColumn('lastName').withTitle('Last name'), 
    DTColumnBuilder.newColumn('email').withTitle('Email ID'), 
    DTColumnBuilder.newColumn('phone').withTitle('Phone Number') 
]; 
} 

})(); 

После отладки, что я нашел Ajax URL получения изменений в DOM URL. Я приложил скриншот для этого:

Click here to see the image

+1

Просьба представить подробную информацию о вашем коде. См. [Как задать хороший вопрос] (http://stackoverflow.com/help/how-to-ask) и [Как создать минимальный, полный и проверенный пример] (http://stackoverflow.com/help/mcve) – Tristan

+0

... и, пожалуйста, не ставьте вопросы как срочные. Это может быть срочно для вас, но для читателей как сейчас, так и через год, это не является срочным. – halfer

+0

См. Https://github.com/l-lin/angular-datatables/issues/475. –

ответ

0

Он работал с использованием withFnServerData вместо АЯКС опции.