2016-04-26 2 views
1

Я внимательно следил за этим примером и не могу отобразить ни одну из кнопок на datatable, которую я рисую, используя обработку на стороне сервера. Вот код:Угловые-Datatable кнопки не будут отображаться

vm.dtOptions = DTOptionsBuilder.newOptions() 
          .withOption('ajax', { 
           type: 'POST', 
           url: /my/api/here, 
           headers: { 
           'Authorization': 'Basic blah12345' 
           }, 
           dataSrc: function(resp){ 

           var data = resp.data; 
           data.forEach(function(el){ 
           //moment.js    
           if(el.process_date){ 
            el.process_date = moment(el.process_date).format("MMM D YYYY, h:mm a"); 
           }else{ 
            el.process_date = "N/A" 
           }         
           if(el.event_date){ 
            el.event_date = moment(el.event_date).format("MMM D YYYY, h:mm a"); 
           }else{ 
            el.event_date = "N/A" 
           } 
           //------------------------------------------------------------------------ 
           if(el.description === null || !el.description){ 
            el.description = "N/A"; 
           } 
           }); 
           return data; 
           } 
          }) 
          .withDOM('Bfrtip') // I have tried dif options here from other examples 
          .withDataProp('data') 
          .withOption('serverSide', true) 
          .withOption('processing', true) 
          .withOption('order', [[0, 'desc']]) 
          .withPaginationType('full_numbers') 
          .withButtons([ 
             'columnsToggle', 
             'colvis', 
             'copy', 
             'print', 
             'excel', 
             { 
              text: 'Some button', 
              key: '1', 
              action: function (e, dt, node, config) { 
               alert('Button activated'); 
              } 
             } 
            ]); 
     vm.dtColumns = [ 
      DTColumnBuilder.newColumn('event_date').withTitle('Event Date'), 
      DTColumnBuilder.newColumn('process_date').withTitle('Process Date'), 
      DTColumnBuilder.newColumn('reason').withTitle('Reason'), 
      DTColumnBuilder.newColumn('description').withTitle('Description'), 
      DTColumnBuilder.newColumn('amount').withTitle('Amount') 
      .renderWith(function(data, type, full) { 
       return $filter('currency')(data, '$', 2) 
       }), 
      DTColumnBuilder.newColumn('balance').withTitle('Balance') 
      .renderWith(function(data, type, full) { 
       return $filter('currency')(data, '$', 2) 
       }), 
      DTColumnBuilder.newColumn('id').withTitle('Sequence'), 
     ]; 

Здесь я решаю зависимости, прежде чем я двигаю $ состояние с моим столом:

.state('app', { 
     url: '/app', 
     abstract: true, 
     templateUrl: helper.basepath('app.html'), 
     resolve: helper.resolveFor('moment','datatables', 'datatables.buttons') 
    }) 

Это HTML я использую, чтобы сделать таблицу:

<div class="panel panel-default"> 
    <div class="panel-body"> 
     <div> 
     <table datatable="" dt-options="fundsCtrl.dtOptions" dt-columns="fundsCtrl.dtColumns" dt-instance="fundsCtrl.dtInstance" class="row-border hover row-border hover"></table> 
     </div> 
    </div> 
</div> 

Я заметил в примере углового DataTables Docs, CSS-файл был включать в себя, а также:

<link rel="stylesheet" href="vendor/datatables-buttons/css/buttons.dataTables.css"> 

, который я вырыл из документов datatable и включил его в свой index.html, но не очень помог.

Я был бы очень признателен за любую помощь! :)

Спасибо так много и с нетерпением ждут назад

ответ

1

Я думаю, что вам не хватают некоторые файлы, которые DataTables документации Угловой не задающие

файлов, которые вы пропали без вести в этом пакете

datatables.net-кнопки-BS

вам необходимо установить их с помощью

Bower

Bower установить --save datatables.net-кнопки-BS

или NPM

NPM установить datatables.net-производится кнопками bs

При установке этого пакета будет 5 файлов, которые вы должны добавить в свой проект они

dataTables.buttons.min.js
buttons.colVis.min.js
buttons.flash .min.js
buttons.html5.min.js
buttons.print.min.js

При этом, вы должны быть в состоянии видеть/использование withButtons

Смежные вопросы